FreePastry/docs/javadoc/rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html

446 lines
25 KiB
HTML
Raw Normal View History

2019-05-13 16:45:05 +04:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_07) on Fri Mar 13 20:01:24 CET 2009 -->
<TITLE>
RendezvousSocketNodeHandle (Rice Pastry - API Specifications)
</TITLE>
<META NAME="date" CONTENT="2009-03-13">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RendezvousSocketNodeHandle (Rice Pastry - API Specifications)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RendezvousSocketNodeHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSNHFactory.html" title="class in rice.pastry.socket.nat.rendezvous"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketPastryNodeFactory.html" title="class in rice.pastry.socket.nat.rendezvous"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="RendezvousSocketNodeHandle.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
rice.pastry.socket.nat.rendezvous</FONT>
<BR>
Class RendezvousSocketNodeHandle</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">java.util.Observable
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">rice.p2p.commonapi.NodeHandle</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../rice/pastry/NodeHandle.html" title="class in rice.pastry">rice.pastry.NodeHandle</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../rice/pastry/socket/TransportLayerNodeHandle.html" title="class in rice.pastry.socket">rice.pastry.socket.TransportLayerNodeHandle</A>&lt;Identifier&gt;
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../rice/pastry/dist/DistNodeHandle.html" title="class in rice.pastry.dist">rice.pastry.dist.DistNodeHandle</A>&lt;<A HREF="../../../../../org/mpisws/p2p/transport/multiaddress/MultiInetSocketAddress.html" title="class in org.mpisws.p2p.transport.multiaddress">MultiInetSocketAddress</A>&gt;
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html" title="class in rice.pastry.socket">rice.pastry.socket.SocketNodeHandle</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>rice.pastry.socket.nat.rendezvous.RendezvousSocketNodeHandle</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, java.util.Observer, <A HREF="../../../../../org/mpisws/p2p/transport/rendezvous/RendezvousContact.html" title="interface in org.mpisws.p2p.transport.rendezvous">RendezvousContact</A>, <A HREF="../../../../../rice/p2p/commonapi/rawserialization/RawSerializable.html" title="interface in rice.p2p.commonapi.rawserialization">RawSerializable</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>RendezvousSocketNodeHandle</B><DT>extends <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html" title="class in rice.pastry.socket">SocketNodeHandle</A><DT>implements <A HREF="../../../../../org/mpisws/p2p/transport/rendezvous/RendezvousContact.html" title="interface in org.mpisws.p2p.transport.rendezvous">RendezvousContact</A></DL>
</PRE>
<P>
Maintains RendezvousInfo with the NodeHandle
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Jeff Hoye</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#rice.pastry.socket.nat.rendezvous.RendezvousSocketNodeHandle">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html#CONTACT_DIRECT">CONTACT_DIRECT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Internet Routable (or proper port forwarding)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html#CONTACT_FIREWALLED">CONTACT_FIREWALLED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not Internet routable</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_rice.pastry.socket.SocketNodeHandle"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class rice.pastry.socket.<A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html" title="class in rice.pastry.socket">SocketNodeHandle</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#eaddress">eaddress</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#epoch">epoch</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_rice.pastry.dist.DistNodeHandle"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class rice.pastry.dist.<A HREF="../../../../../rice/pastry/dist/DistNodeHandle.html" title="class in rice.pastry.dist">DistNodeHandle</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../rice/pastry/dist/DistNodeHandle.html#nodeId">nodeId</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_rice.pastry.NodeHandle"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class rice.pastry.<A HREF="../../../../../rice/pastry/NodeHandle.html" title="class in rice.pastry">NodeHandle</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../rice/pastry/NodeHandle.html#LIVENESS_ALIVE">LIVENESS_ALIVE</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#LIVENESS_DEAD">LIVENESS_DEAD</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#LIVENESS_SUSPECTED">LIVENESS_SUSPECTED</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#localnode">localnode</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#logger">logger</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_rice.p2p.commonapi.NodeHandle"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class rice.p2p.commonapi.<A HREF="../../../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">NodeHandle</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../rice/p2p/commonapi/NodeHandle.html#DECLARED_DEAD">DECLARED_DEAD</A>, <A HREF="../../../../../rice/p2p/commonapi/NodeHandle.html#DECLARED_LIVE">DECLARED_LIVE</A>, <A HREF="../../../../../rice/p2p/commonapi/NodeHandle.html#PROXIMITY_CHANGED">PROXIMITY_CHANGED</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html#canContactDirect()">canContactDirect</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html#getContactStatus()">getContactStatus</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html#serialize(rice.p2p.commonapi.rawserialization.OutputBuffer)">serialize</A></B>(<A HREF="../../../../../rice/p2p/commonapi/rawserialization/OutputBuffer.html" title="interface in rice.p2p.commonapi.rawserialization">OutputBuffer</A>&nbsp;buf)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a String representation of this DistNodeHandle.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_rice.pastry.socket.SocketNodeHandle"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class rice.pastry.socket.<A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html" title="class in rice.pastry.socket">SocketNodeHandle</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#checkLiveness()">checkLiveness</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#equals(java.lang.Object)">equals</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#getAddress()">getAddress</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#getEpoch()">getEpoch</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#getIdentifier()">getIdentifier</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#getInetSocketAddress()">getInetSocketAddress</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#getLiveness()">getLiveness</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#hashCode()">hashCode</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#isLocal()">isLocal</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#ping()">ping</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#proximity()">proximity</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#receiveMessage(rice.pastry.messaging.Message)">receiveMessage</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#setLocalNode(rice.pastry.PastryNode)">setLocalNode</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#toStringFull()">toStringFull</A>, <A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#update(java.util.Observable, java.lang.Object)">update</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_rice.pastry.dist.DistNodeHandle"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class rice.pastry.dist.<A HREF="../../../../../rice/pastry/dist/DistNodeHandle.html" title="class in rice.pastry.dist">DistNodeHandle</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../rice/pastry/dist/DistNodeHandle.html#getNodeId()">getNodeId</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_rice.pastry.NodeHandle"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class rice.pastry.<A HREF="../../../../../rice/pastry/NodeHandle.html" title="class in rice.pastry">NodeHandle</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../rice/pastry/NodeHandle.html#addObserver(java.util.Observer)">addObserver</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#addObserver(java.util.Observer, int)">addObserver</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#assertLocalNode()">assertLocalNode</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#bootstrap(rice.pastry.messaging.Message)">bootstrap</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#countObservers()">countObservers</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#deleteObserver(java.util.Observer)">deleteObserver</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#deleteObservers()">deleteObservers</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#getId()">getId</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#getLocalNode()">getLocalNode</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#isAlive()">isAlive</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#notifyObservers(java.lang.Object)">notifyObservers</A>, <A HREF="../../../../../rice/pastry/NodeHandle.html#update(java.lang.Object)">update</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.util.Observable"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.util.Observable</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clearChanged, hasChanged, notifyObservers, setChanged</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="CONTACT_DIRECT"><!-- --></A><H3>
CONTACT_DIRECT</H3>
<PRE>
public static final byte <B>CONTACT_DIRECT</B></PRE>
<DL>
<DD>Internet Routable (or proper port forwarding)
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#rice.pastry.socket.nat.rendezvous.RendezvousSocketNodeHandle.CONTACT_DIRECT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CONTACT_FIREWALLED"><!-- --></A><H3>
CONTACT_FIREWALLED</H3>
<PRE>
public static final byte <B>CONTACT_FIREWALLED</B></PRE>
<DL>
<DD>Not Internet routable
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#rice.pastry.socket.nat.rendezvous.RendezvousSocketNodeHandle.CONTACT_FIREWALLED">Constant Field Values</A></DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="serialize(rice.p2p.commonapi.rawserialization.OutputBuffer)"><!-- --></A><H3>
serialize</H3>
<PRE>
public void <B>serialize</B>(<A HREF="../../../../../rice/p2p/commonapi/rawserialization/OutputBuffer.html" title="interface in rice.p2p.commonapi.rawserialization">OutputBuffer</A>&nbsp;buf)
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../rice/p2p/commonapi/rawserialization/RawSerializable.html#serialize(rice.p2p.commonapi.rawserialization.OutputBuffer)">serialize</A></CODE> in interface <CODE><A HREF="../../../../../rice/p2p/commonapi/rawserialization/RawSerializable.html" title="interface in rice.p2p.commonapi.rawserialization">RawSerializable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#serialize(rice.p2p.commonapi.rawserialization.OutputBuffer)">serialize</A></CODE> in class <CODE><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html" title="class in rice.pastry.socket">SocketNodeHandle</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="canContactDirect()"><!-- --></A><H3>
canContactDirect</H3>
<PRE>
public boolean <B>canContactDirect</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/mpisws/p2p/transport/rendezvous/RendezvousContact.html#canContactDirect()">canContactDirect</A></CODE> in interface <CODE><A HREF="../../../../../org/mpisws/p2p/transport/rendezvous/RendezvousContact.html" title="interface in org.mpisws.p2p.transport.rendezvous">RendezvousContact</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if an Internet routable IP; false if NATted and no port forwarding, or other type FireWall.</DL>
</DD>
</DL>
<HR>
<A NAME="getContactStatus()"><!-- --></A><H3>
getContactStatus</H3>
<PRE>
public byte <B>getContactStatus</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#toString()">SocketNodeHandle</A></CODE></B></DD>
<DD>Returns a String representation of this DistNodeHandle. This method is
designed to be called by clients using the node handle, and is provided in
order to ensure that the right node handle is being talked to.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html#toString()">toString</A></CODE> in class <CODE><A HREF="../../../../../rice/pastry/socket/SocketNodeHandle.html" title="class in rice.pastry.socket">SocketNodeHandle</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>A String representation of the node handle.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RendezvousSocketNodeHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSNHFactory.html" title="class in rice.pastry.socket.nat.rendezvous"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../rice/pastry/socket/nat/rendezvous/RendezvousSocketPastryNodeFactory.html" title="class in rice.pastry.socket.nat.rendezvous"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?rice/pastry/socket/nat/rendezvous/RendezvousSocketNodeHandle.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="RendezvousSocketNodeHandle.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<i>Copyright &#169; 2001-2005 - Rice Pastry.</i>
</BODY>
</HTML>