FreePastry/docs/javadoc/rice/p2p/multiring/MultiringNodeCollection.html
ChronosX88 aaa73fe8b3 Pew
2019-05-13 16:45:05 +04:00

432 lines
19 KiB
HTML

<!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:17 CET 2009 -->
<TITLE>
MultiringNodeCollection (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="MultiringNodeCollection (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/MultiringNodeCollection.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/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/p2p/multiring/MultiringNodeHandle.html" title="class in rice.p2p.multiring"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/p2p/multiring/MultiringNodeCollection.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MultiringNodeCollection.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;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&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.p2p.multiring</FONT>
<BR>
Class MultiringNodeCollection</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>rice.p2p.multiring.MultiringNodeCollection</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>MultiringNodeCollection</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
<DL>
<DT><B>Version:</B></DT>
<DD>$Id: MultiringNodeCollection.java 4476 2008-09-19 14:58:35Z jeffh $</DD>
<DT><B>Author:</B></DT>
<DD>Alan Mislove</DD>
</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>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#BASE">BASE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The routing base for ring ids, in bytes</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#nodes">nodes</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The list of nodes in the collection</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#MultiringNodeCollection(rice.p2p.multiring.MultiringNode, int)">MultiringNodeCollection</A></B>(<A HREF="../../../rice/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring">MultiringNode</A>&nbsp;node,
int&nbsp;BASE)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#addNode(rice.p2p.multiring.MultiringNode)">addNode</A></B>(<A HREF="../../../rice/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring">MultiringNode</A>&nbsp;node)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method allows other nodes to be dynamically added to the node
collection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#broadcastNewNode(rice.p2p.multiring.MultiringNode)">broadcastNewNode</A></B>(<A HREF="../../../rice/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring">MultiringNode</A>&nbsp;node)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method informs all of the existing nodes of the newly added node,
and informs the newly added node of all of the existing nodes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#getLength(rice.p2p.multiring.RingId)">getLength</A></B>(<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;a)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the length of the given ringId</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#getLengthOfSharedPrefix(rice.p2p.multiring.RingId, rice.p2p.multiring.RingId)">getLengthOfSharedPrefix</A></B>(<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;a,
<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;b)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the length of the shared prefix, in bytes, of the
two provided ringIds by comparing the ring values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/commonapi/MessageReceipt.html" title="interface in rice.p2p.commonapi">MessageReceipt</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/multiring/MultiringNodeCollection.html#route(rice.p2p.multiring.RingId, rice.p2p.commonapi.rawserialization.RawMessage, java.lang.String, rice.p2p.commonapi.DeliveryNotification, java.util.Map)">route</A></B>(<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;id,
<A HREF="../../../rice/p2p/commonapi/rawserialization/RawMessage.html" title="interface in rice.p2p.commonapi.rawserialization">RawMessage</A>&nbsp;message,
java.lang.String&nbsp;application,
<A HREF="../../../rice/p2p/commonapi/DeliveryNotification.html" title="interface in rice.p2p.commonapi">DeliveryNotification</A>&nbsp;deliverAckToMe,
java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;options)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the best next-hop to a given target, using ring hopping,
if one exists.</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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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="BASE"><!-- --></A><H3>
BASE</H3>
<PRE>
public int <B>BASE</B></PRE>
<DL>
<DD>The routing base for ring ids, in bytes
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="nodes"><!-- --></A><H3>
nodes</H3>
<PRE>
protected java.util.Vector <B>nodes</B></PRE>
<DL>
<DD>The list of nodes in the collection
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="MultiringNodeCollection(rice.p2p.multiring.MultiringNode, int)"><!-- --></A><H3>
MultiringNodeCollection</H3>
<PRE>
public <B>MultiringNodeCollection</B>(<A HREF="../../../rice/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring">MultiringNode</A>&nbsp;node,
int&nbsp;BASE)</PRE>
<DL>
<DD>Constructor
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>node</CODE> - The node to base this node off of</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="addNode(rice.p2p.multiring.MultiringNode)"><!-- --></A><H3>
addNode</H3>
<PRE>
public void <B>addNode</B>(<A HREF="../../../rice/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring">MultiringNode</A>&nbsp;node)</PRE>
<DL>
<DD>This method allows other nodes to be dynamically added to the node
collection. Using this method, a node is added to the collection, and
it is told of all of the other nodes in the collection. Similarly, all
of the other nodes in the collection are told of this node.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>node</CODE> - The node to add to the collection</DL>
</DD>
</DL>
<HR>
<A NAME="broadcastNewNode(rice.p2p.multiring.MultiringNode)"><!-- --></A><H3>
broadcastNewNode</H3>
<PRE>
protected void <B>broadcastNewNode</B>(<A HREF="../../../rice/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring">MultiringNode</A>&nbsp;node)</PRE>
<DL>
<DD>This method informs all of the existing nodes of the newly added node,
and informs the newly added node of all of the existing nodes.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>node</CODE> - The node that is being added</DL>
</DD>
</DL>
<HR>
<A NAME="route(rice.p2p.multiring.RingId, rice.p2p.commonapi.rawserialization.RawMessage, java.lang.String, rice.p2p.commonapi.DeliveryNotification, java.util.Map)"><!-- --></A><H3>
route</H3>
<PRE>
protected <A HREF="../../../rice/p2p/commonapi/MessageReceipt.html" title="interface in rice.p2p.commonapi">MessageReceipt</A> <B>route</B>(<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;id,
<A HREF="../../../rice/p2p/commonapi/rawserialization/RawMessage.html" title="interface in rice.p2p.commonapi.rawserialization">RawMessage</A>&nbsp;message,
java.lang.String&nbsp;application,
<A HREF="../../../rice/p2p/commonapi/DeliveryNotification.html" title="interface in rice.p2p.commonapi">DeliveryNotification</A>&nbsp;deliverAckToMe,
java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;options)</PRE>
<DL>
<DD>This method returns the best next-hop to a given target, using ring hopping,
if one exists. Otherwise, if no local node in the collection is the next
hop for the target, null is returned.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - The target id of the message<DD><CODE>message</CODE> - The message to be sent<DD><CODE>hint</CODE> - A suggested hint</DL>
</DD>
</DL>
<HR>
<A NAME="getLength(rice.p2p.multiring.RingId)"><!-- --></A><H3>
getLength</H3>
<PRE>
protected int <B>getLength</B>(<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;a)</PRE>
<DL>
<DD>This method returns the length of the given ringId
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - The ring Id
<DT><B>Returns:</B><DD>The number of shared bytes</DL>
</DD>
</DL>
<HR>
<A NAME="getLengthOfSharedPrefix(rice.p2p.multiring.RingId, rice.p2p.multiring.RingId)"><!-- --></A><H3>
getLengthOfSharedPrefix</H3>
<PRE>
protected int <B>getLengthOfSharedPrefix</B>(<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;a,
<A HREF="../../../rice/p2p/multiring/RingId.html" title="class in rice.p2p.multiring">RingId</A>&nbsp;b)</PRE>
<DL>
<DD>This method returns the length of the shared prefix, in bytes, of the
two provided ringIds by comparing the ring values.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - The first Id<DD><CODE>b</CODE> - The second Id
<DT><B>Returns:</B><DD>The number of shared bytes</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/MultiringNodeCollection.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/p2p/multiring/MultiringNode.html" title="class in rice.p2p.multiring"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/p2p/multiring/MultiringNodeHandle.html" title="class in rice.p2p.multiring"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/p2p/multiring/MultiringNodeCollection.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MultiringNodeCollection.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;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&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>