FreePastry/docs/javadoc/rice/pastry/direct/NetworkSimulatorImpl.html
ChronosX88 aaa73fe8b3 Pew
2019-05-13 16:45:05 +04:00

918 lines
56 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:27 CET 2009 -->
<TITLE>
NetworkSimulatorImpl (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="NetworkSimulatorImpl (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/NetworkSimulatorImpl.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/direct/NetworkSimulator.html" title="interface in rice.pastry.direct"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/pastry/direct/NetworkSimulatorImpl.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="NetworkSimulatorImpl.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.pastry.direct</FONT>
<BR>
Class NetworkSimulatorImpl&lt;Identifier,MessageType&gt;</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>rice.pastry.direct.NetworkSimulatorImpl&lt;Identifier,MessageType&gt;</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;Identifier,MessageType&gt;</DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../rice/pastry/direct/EuclideanNetwork.html" title="class in rice.pastry.direct">EuclideanNetwork</A>, <A HREF="../../../rice/pastry/direct/GenericNetwork.html" title="class in rice.pastry.direct">GenericNetwork</A>, <A HREF="../../../rice/pastry/direct/SphereNetwork.html" title="class in rice.pastry.direct">SphereNetwork</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>NetworkSimulatorImpl&lt;Identifier,MessageType&gt;</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;Identifier,MessageType&gt;</DL>
</PRE>
<P>
<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>protected &nbsp;<A HREF="../../../rice/pastry/direct/ProximityGenerator.html" title="interface in rice.pastry.direct">ProximityGenerator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#generator">generator</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>protected &nbsp;<A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessProvider</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#livenessProvider">livenessProvider</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>protected &nbsp;<A HREF="../../../rice/environment/random/RandomSource.html" title="interface in rice.environment.random">RandomSource</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#random">random</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>protected &nbsp;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="class in rice.pastry.direct">BasicNetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#simulator">simulator</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/pastry/direct/NetworkSimulatorImpl.html#NetworkSimulatorImpl(rice.environment.Environment, rice.pastry.direct.ProximityGenerator)">NetworkSimulatorImpl</A></B>(<A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A>&nbsp;env,
<A HREF="../../../rice/pastry/direct/ProximityGenerator.html" title="interface in rice.pastry.direct">ProximityGenerator</A>&nbsp;generator)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/direct/NetworkSimulatorImpl.html#addSimulatorListener(rice.pastry.direct.GenericSimulatorListener)">addSimulatorListener</A></B>(<A HREF="../../../rice/pastry/direct/GenericSimulatorListener.html" title="interface in rice.pastry.direct">GenericSimulatorListener</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;&nbsp;sl)</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/direct/NetworkSimulatorImpl.html#destroy(rice.pastry.direct.DirectPastryNode)">destroy</A></B>(<A HREF="../../../rice/pastry/direct/DirectPastryNode.html" title="class in rice.pastry.direct">DirectPastryNode</A>&nbsp;dpn)</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;<A HREF="../../../rice/p2p/commonapi/CancellableTask.html" title="interface in rice.p2p.commonapi">CancellableTask</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#enqueueDelivery(org.mpisws.p2p.transport.direct.Delivery, int)">enqueueDelivery</A></B>(<A HREF="../../../org/mpisws/p2p/transport/direct/Delivery.html" title="interface in org.mpisws.p2p.transport.direct">Delivery</A>&nbsp;del,
int&nbsp;delay)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deliver message.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#generateNodeRecord()">generateNodeRecord</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates a random node record</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/pastry/direct/DirectNodeHandle.html" title="class in rice.pastry.direct">DirectNodeHandle</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#getClosest(rice.pastry.direct.DirectNodeHandle)">getClosest</A></B>(<A HREF="../../../rice/pastry/direct/DirectNodeHandle.html" title="class in rice.pastry.direct">DirectNodeHandle</A>&nbsp;nh)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the closest Node in proximity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#getEnvironment()">getEnvironment</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;<A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html" title="interface in org.mpisws.p2p.transport.direct">GenericNetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#getGenericSimulator()">getGenericSimulator</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;<A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessProvider</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#getLivenessProvider()">getLivenessProvider</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;<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#getNodeRecord(rice.pastry.direct.DirectNodeHandle)">getNodeRecord</A></B>(<A HREF="../../../rice/pastry/direct/DirectNodeHandle.html" title="class in rice.pastry.direct">DirectNodeHandle</A>&nbsp;handle)</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;<A HREF="../../../rice/pastry/direct/TestRecord.html" title="class in rice.pastry.direct">TestRecord</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#getTestRecord()">getTestRecord</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get TestRecord</TD>
</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/direct/NetworkSimulatorImpl.html#isAlive(Identifier)">isAlive</A></B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;nh)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks to see if a node id is alive.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#networkDelay(Identifier, Identifier)">networkDelay</A></B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;b)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines delivery time from a to b.</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/direct/NetworkSimulatorImpl.html#notifySimulatorListenersReceived(MessageType, Identifier, Identifier)">notifySimulatorListenersReceived</A></B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&nbsp;m,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;from,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;to)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call this when a message is received.</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/direct/NetworkSimulatorImpl.html#notifySimulatorListenersSent(MessageType, Identifier, Identifier, int)">notifySimulatorListenersSent</A></B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&nbsp;m,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;from,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;to,
int&nbsp;delay)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call this when a message is sent.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html#proximity(Identifier, Identifier)">proximity</A></B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;b)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines rtt between two nodes.</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/direct/NetworkSimulatorImpl.html#registerNode(Identifier, org.mpisws.p2p.transport.direct.DirectTransportLayer, rice.pastry.direct.NodeRecord)">registerNode</A></B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;i,
<A HREF="../../../org/mpisws/p2p/transport/direct/DirectTransportLayer.html" title="class in org.mpisws.p2p.transport.direct">DirectTransportLayer</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;&nbsp;dtl,
<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A>&nbsp;nr)</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/direct/NetworkSimulatorImpl.html#removeNode(rice.pastry.PastryNode)">removeNode</A></B>(<A HREF="../../../rice/pastry/PastryNode.html" title="class in rice.pastry">PastryNode</A>&nbsp;node)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a node handle with the simulator.</TD>
</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/direct/NetworkSimulatorImpl.html#removeSimulatorListener(rice.pastry.direct.GenericSimulatorListener)">removeSimulatorListener</A></B>(<A HREF="../../../rice/pastry/direct/GenericSimulatorListener.html" title="interface in rice.pastry.direct">GenericSimulatorListener</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;&nbsp;sl)</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/direct/NetworkSimulatorImpl.html#setFullSpeed()">setFullSpeed</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unlimited maxSpeed</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/direct/NetworkSimulatorImpl.html#setMaxSpeed(float)">setMaxSpeed</A></B>(float&nbsp;rate)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The max rate of the simulator compared to realtime.</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/direct/NetworkSimulatorImpl.html#setTestRecord(rice.pastry.direct.TestRecord)">setTestRecord</A></B>(<A HREF="../../../rice/pastry/direct/TestRecord.html" title="class in rice.pastry.direct">TestRecord</A>&nbsp;tr)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set TestRecord</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/direct/NetworkSimulatorImpl.html#start()">start</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/direct/NetworkSimulatorImpl.html#stop()">stop</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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="simulator"><!-- --></A><H3>
simulator</H3>
<PRE>
protected <A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="class in rice.pastry.direct">BasicNetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt; <B>simulator</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="random"><!-- --></A><H3>
random</H3>
<PRE>
protected <A HREF="../../../rice/environment/random/RandomSource.html" title="interface in rice.environment.random">RandomSource</A> <B>random</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="generator"><!-- --></A><H3>
generator</H3>
<PRE>
protected <A HREF="../../../rice/pastry/direct/ProximityGenerator.html" title="interface in rice.pastry.direct">ProximityGenerator</A> <B>generator</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="livenessProvider"><!-- --></A><H3>
livenessProvider</H3>
<PRE>
protected <A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessProvider</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&gt; <B>livenessProvider</B></PRE>
<DL>
<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="NetworkSimulatorImpl(rice.environment.Environment, rice.pastry.direct.ProximityGenerator)"><!-- --></A><H3>
NetworkSimulatorImpl</H3>
<PRE>
public <B>NetworkSimulatorImpl</B>(<A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A>&nbsp;env,
<A HREF="../../../rice/pastry/direct/ProximityGenerator.html" title="interface in rice.pastry.direct">ProximityGenerator</A>&nbsp;generator)</PRE>
<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="getEnvironment()"><!-- --></A><H3>
getEnvironment</H3>
<PRE>
public <A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A> <B>getEnvironment</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#getEnvironment()">getEnvironment</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setFullSpeed()"><!-- --></A><H3>
setFullSpeed</H3>
<PRE>
public void <B>setFullSpeed</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#setFullSpeed()">NetworkSimulator</A></CODE></B></DD>
<DD>unlimited maxSpeed
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#setFullSpeed()">setFullSpeed</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setMaxSpeed(float)"><!-- --></A><H3>
setMaxSpeed</H3>
<PRE>
public void <B>setMaxSpeed</B>(float&nbsp;rate)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#setMaxSpeed(float)">NetworkSimulator</A></CODE></B></DD>
<DD>The max rate of the simulator compared to realtime.
The rule is that the simulated clock will not be set to a value greater
than the factor from system-time that the call was made. Thus
if 1 hour ago, you said the simulator should run at 10x realtime the simulated
clock will only have advanced 10 hours.
Note that if the simulator cannot keep up with the system clock in the early
part, it may move faster than the value you set to "catch up"
To prevent this speed-up from becoming unbounded, you may wish to call
setMaxSpeed() periodically or immediately after periods of expensive calculations.
Setting the simulation speed to zero will not pause the simulation, you must
call stop() to do that.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#setMaxSpeed(float)">setMaxSpeed</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="start()"><!-- --></A><H3>
start</H3>
<PRE>
public void <B>start</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#start()">start</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="stop()"><!-- --></A><H3>
stop</H3>
<PRE>
public void <B>stop</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#stop()">stop</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getTestRecord()"><!-- --></A><H3>
getTestRecord</H3>
<PRE>
public <A HREF="../../../rice/pastry/direct/TestRecord.html" title="class in rice.pastry.direct">TestRecord</A> <B>getTestRecord</B>()</PRE>
<DL>
<DD>get TestRecord
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#getTestRecord()">getTestRecord</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the returned TestRecord</DL>
</DD>
</DL>
<HR>
<A NAME="setTestRecord(rice.pastry.direct.TestRecord)"><!-- --></A><H3>
setTestRecord</H3>
<PRE>
public void <B>setTestRecord</B>(<A HREF="../../../rice/pastry/direct/TestRecord.html" title="class in rice.pastry.direct">TestRecord</A>&nbsp;tr)</PRE>
<DL>
<DD>set TestRecord
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#setTestRecord(rice.pastry.direct.TestRecord)">setTestRecord</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>tr</CODE> - input TestRecord</DL>
</DD>
</DL>
<HR>
<A NAME="addSimulatorListener(rice.pastry.direct.GenericSimulatorListener)"><!-- --></A><H3>
addSimulatorListener</H3>
<PRE>
public boolean <B>addSimulatorListener</B>(<A HREF="../../../rice/pastry/direct/GenericSimulatorListener.html" title="interface in rice.pastry.direct">GenericSimulatorListener</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;&nbsp;sl)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#addSimulatorListener(rice.pastry.direct.GenericSimulatorListener)">addSimulatorListener</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if added, false if already a listener</DL>
</DD>
</DL>
<HR>
<A NAME="removeSimulatorListener(rice.pastry.direct.GenericSimulatorListener)"><!-- --></A><H3>
removeSimulatorListener</H3>
<PRE>
public boolean <B>removeSimulatorListener</B>(<A HREF="../../../rice/pastry/direct/GenericSimulatorListener.html" title="interface in rice.pastry.direct">GenericSimulatorListener</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;&nbsp;sl)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#removeSimulatorListener(rice.pastry.direct.GenericSimulatorListener)">removeSimulatorListener</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if removed, false if not already a listener</DL>
</DD>
</DL>
<HR>
<A NAME="notifySimulatorListenersSent(java.lang.Object,java.lang.Object,java.lang.Object,int)"><!-- --></A><A NAME="notifySimulatorListenersSent(MessageType, Identifier, Identifier, int)"><!-- --></A><H3>
notifySimulatorListenersSent</H3>
<PRE>
public void <B>notifySimulatorListenersSent</B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&nbsp;m,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;from,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;to,
int&nbsp;delay)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#notifySimulatorListenersSent(MessageType, Identifier, Identifier, int)">NetworkSimulator</A></CODE></B></DD>
<DD>Call this when a message is sent.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#notifySimulatorListenersSent(MessageType, Identifier, Identifier, int)">notifySimulatorListenersSent</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>m</CODE> - the message<DD><CODE>from</CODE> - the source<DD><CODE>to</CODE> - the destination<DD><CODE>delay</CODE> - the network proximity (when the message will be received)</DL>
</DD>
</DL>
<HR>
<A NAME="notifySimulatorListenersReceived(java.lang.Object,java.lang.Object,java.lang.Object)"><!-- --></A><A NAME="notifySimulatorListenersReceived(MessageType, Identifier, Identifier)"><!-- --></A><H3>
notifySimulatorListenersReceived</H3>
<PRE>
public void <B>notifySimulatorListenersReceived</B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&nbsp;m,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;from,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;to)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#notifySimulatorListenersReceived(MessageType, Identifier, Identifier)">NetworkSimulator</A></CODE></B></DD>
<DD>Call this when a message is received.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#notifySimulatorListenersReceived(MessageType, Identifier, Identifier)">notifySimulatorListenersReceived</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>m</CODE> - the message<DD><CODE>from</CODE> - the source<DD><CODE>to</CODE> - the destination</DL>
</DD>
</DL>
<HR>
<A NAME="destroy(rice.pastry.direct.DirectPastryNode)"><!-- --></A><H3>
destroy</H3>
<PRE>
public void <B>destroy</B>(<A HREF="../../../rice/pastry/direct/DirectPastryNode.html" title="class in rice.pastry.direct">DirectPastryNode</A>&nbsp;dpn)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#destroy(rice.pastry.direct.DirectPastryNode)">destroy</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="enqueueDelivery(org.mpisws.p2p.transport.direct.Delivery, int)"><!-- --></A><H3>
enqueueDelivery</H3>
<PRE>
public <A HREF="../../../rice/p2p/commonapi/CancellableTask.html" title="interface in rice.p2p.commonapi">CancellableTask</A> <B>enqueueDelivery</B>(<A HREF="../../../org/mpisws/p2p/transport/direct/Delivery.html" title="interface in org.mpisws.p2p.transport.direct">Delivery</A>&nbsp;del,
int&nbsp;delay)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#enqueueDelivery(org.mpisws.p2p.transport.direct.Delivery, int)">NetworkSimulator</A></CODE></B></DD>
<DD>Deliver message.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#enqueueDelivery(org.mpisws.p2p.transport.direct.Delivery, int)">enqueueDelivery</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="generateNodeRecord()"><!-- --></A><H3>
generateNodeRecord</H3>
<PRE>
public <A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A> <B>generateNodeRecord</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#generateNodeRecord()">NetworkSimulator</A></CODE></B></DD>
<DD>Generates a random node record
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#generateNodeRecord()">generateNodeRecord</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>
<A NAME="getClosest(rice.pastry.direct.DirectNodeHandle)"><!-- --></A><H3>
getClosest</H3>
<PRE>
public <A HREF="../../../rice/pastry/direct/DirectNodeHandle.html" title="class in rice.pastry.direct">DirectNodeHandle</A> <B>getClosest</B>(<A HREF="../../../rice/pastry/direct/DirectNodeHandle.html" title="class in rice.pastry.direct">DirectNodeHandle</A>&nbsp;nh)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#getClosest(rice.pastry.direct.DirectNodeHandle)">NetworkSimulator</A></CODE></B></DD>
<DD>Returns the closest Node in proximity.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#getClosest(rice.pastry.direct.DirectNodeHandle)">getClosest</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>
<A NAME="isAlive(java.lang.Object)"><!-- --></A><A NAME="isAlive(Identifier)"><!-- --></A><H3>
isAlive</H3>
<PRE>
public boolean <B>isAlive</B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;nh)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#isAlive(Identifier)">NetworkSimulator</A></CODE></B></DD>
<DD>Checks to see if a node id is alive.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#isAlive(Identifier)">isAlive</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if alive, false otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="networkDelay(java.lang.Object,java.lang.Object)"><!-- --></A><A NAME="networkDelay(Identifier, Identifier)"><!-- --></A><H3>
networkDelay</H3>
<PRE>
public float <B>networkDelay</B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;b)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#networkDelay(Identifier, Identifier)">NetworkSimulator</A></CODE></B></DD>
<DD>Determines delivery time from a to b.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#networkDelay(Identifier, Identifier)">networkDelay</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - a node id.<DD><CODE>b</CODE> - another node id.
<DT><B>Returns:</B><DD>proximity of b to a.</DL>
</DD>
</DL>
<HR>
<A NAME="proximity(java.lang.Object,java.lang.Object)"><!-- --></A><A NAME="proximity(Identifier, Identifier)"><!-- --></A><H3>
proximity</H3>
<PRE>
public float <B>proximity</B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;b)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#proximity(Identifier, Identifier)">NetworkSimulator</A></CODE></B></DD>
<DD>Determines rtt between two nodes.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#proximity(Identifier, Identifier)">proximity</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - a node id.<DD><CODE>b</CODE> - another node id.
<DT><B>Returns:</B><DD>proximity of b to a.</DL>
</DD>
</DL>
<HR>
<A NAME="removeNode(rice.pastry.PastryNode)"><!-- --></A><H3>
removeNode</H3>
<PRE>
public void <B>removeNode</B>(<A HREF="../../../rice/pastry/PastryNode.html" title="class in rice.pastry">PastryNode</A>&nbsp;node)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#removeNode(rice.pastry.PastryNode)">NetworkSimulator</A></CODE></B></DD>
<DD>Registers a node handle with the simulator.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#removeNode(rice.pastry.PastryNode)">removeNode</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getNodeRecord(rice.pastry.direct.DirectNodeHandle)"><!-- --></A><H3>
getNodeRecord</H3>
<PRE>
public <A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A> <B>getNodeRecord</B>(<A HREF="../../../rice/pastry/direct/DirectNodeHandle.html" title="class in rice.pastry.direct">DirectNodeHandle</A>&nbsp;handle)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#getNodeRecord(rice.pastry.direct.DirectNodeHandle)">getNodeRecord</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getLivenessProvider()"><!-- --></A><H3>
getLivenessProvider</H3>
<PRE>
public <A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessProvider</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&gt; <B>getLivenessProvider</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#getLivenessProvider()">getLivenessProvider</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getGenericSimulator()"><!-- --></A><H3>
getGenericSimulator</H3>
<PRE>
public <A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html" title="interface in org.mpisws.p2p.transport.direct">GenericNetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt; <B>getGenericSimulator</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#getGenericSimulator()">getGenericSimulator</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="registerNode(java.lang.Object,org.mpisws.p2p.transport.direct.DirectTransportLayer,rice.pastry.direct.NodeRecord)"><!-- --></A><A NAME="registerNode(Identifier, org.mpisws.p2p.transport.direct.DirectTransportLayer, rice.pastry.direct.NodeRecord)"><!-- --></A><H3>
registerNode</H3>
<PRE>
public void <B>registerNode</B>(<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>&nbsp;i,
<A HREF="../../../org/mpisws/p2p/transport/direct/DirectTransportLayer.html" title="class in org.mpisws.p2p.transport.direct">DirectTransportLayer</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;&nbsp;dtl,
<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A>&nbsp;nr)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html#registerNode(Identifier, org.mpisws.p2p.transport.direct.DirectTransportLayer, rice.pastry.direct.NodeRecord)">registerNode</A></CODE> in interface <CODE><A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">Identifier</A>,<A HREF="../../../rice/pastry/direct/NetworkSimulatorImpl.html" title="type parameter in NetworkSimulatorImpl">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</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/NetworkSimulatorImpl.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/direct/NetworkSimulator.html" title="interface in rice.pastry.direct"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/pastry/direct/NetworkSimulatorImpl.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="NetworkSimulatorImpl.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>