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

866 lines
54 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>
BasicNetworkSimulator (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="BasicNetworkSimulator (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/BasicNetworkSimulator.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;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../rice/pastry/direct/DeliveryTimerTask.html" title="class 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/BasicNetworkSimulator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="BasicNetworkSimulator.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 BasicNetworkSimulator&lt;Identifier,MessageType&gt;</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html" title="class in org.mpisws.p2p.transport.direct">org.mpisws.p2p.transport.direct.EventSimulator</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>rice.pastry.direct.BasicNetworkSimulator&lt;Identifier,MessageType&gt;</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html" title="interface in org.mpisws.p2p.transport.direct">GenericNetworkSimulator</A>&lt;Identifier,MessageType&gt;, <A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessProvider</A>&lt;Identifier&gt;, <A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessTypes.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessTypes</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>BasicNetworkSimulator&lt;Identifier,MessageType&gt;</B><DT>extends <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html" title="class in org.mpisws.p2p.transport.direct">EventSimulator</A><DT>implements <A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html" title="interface in org.mpisws.p2p.transport.direct">GenericNetworkSimulator</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#maxDiameter">maxDiameter</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#MIN_DELAY">MIN_DELAY</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#minDelay">minDelay</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.mpisws.p2p.transport.direct.EventSimulator"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.mpisws.p2p.transport.direct.<A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html" title="class in org.mpisws.p2p.transport.direct">EventSimulator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#environment">environment</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#logger">logger</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#manager">manager</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#random">random</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#timeSource">timeSource</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.mpisws.p2p.transport.liveness.LivenessTypes"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.mpisws.p2p.transport.liveness.<A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessTypes.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessTypes</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessTypes.html#LIVENESS_ALIVE">LIVENESS_ALIVE</A>, <A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessTypes.html#LIVENESS_DEAD">LIVENESS_DEAD</A>, <A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessTypes.html#LIVENESS_DEAD_FOREVER">LIVENESS_DEAD_FOREVER</A>, <A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessTypes.html#LIVENESS_SUSPECTED">LIVENESS_SUSPECTED</A></CODE></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/BasicNetworkSimulator.html#BasicNetworkSimulator(rice.environment.Environment, rice.environment.random.RandomSource, rice.pastry.direct.NetworkSimulator)">BasicNetworkSimulator</A></B>(<A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A>&nbsp;env,
<A HREF="../../../rice/environment/random/RandomSource.html" title="interface in rice.environment.random">RandomSource</A>&nbsp;random,
<A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;&nbsp;sim)</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#addLivenessListener(org.mpisws.p2p.transport.liveness.LivenessListener)">addLivenessListener</A></B>(<A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessListener.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessListener</A>&lt;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;&nbsp;name)</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;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#checkLiveness(Identifier, java.util.Map)">checkLiveness</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i,
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;Returns whether a new notification will occur.</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/BasicNetworkSimulator.html#clearState(Identifier)">clearState</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Force layer to clear the existing state related to the Identifier.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#deliverMessage(MessageType, Identifier, Identifier)">deliverMessage</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node should always be a local node, because this will be delivered instantly</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#deliverMessage(MessageType, Identifier, Identifier, int)">deliverMessage</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from,
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/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#deliverMessage(MessageType, Identifier, Identifier, int, int)">deliverMessage</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from,
int&nbsp;delay,
int&nbsp;period)</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/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#deliverMessageFixedRate(MessageType, Identifier, Identifier, int, int)">deliverMessageFixedRate</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from,
int&nbsp;delay,
int&nbsp;period)</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/BasicNetworkSimulator.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;d,
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/environment/Environment.html" title="class in rice.environment">Environment</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.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="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#getEnvironment(Identifier)">getEnvironment</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the environment related to a specific node.</TD>
</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/pastry/direct/BasicNetworkSimulator.html#getLiveness(Identifier, java.util.Map)">getLiveness</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i,
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;&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/BasicNetworkSimulator.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/environment/random/RandomSource.html" title="interface in rice.environment.random">RandomSource</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#getRandomSource()">getRandomSource</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/DirectTransportLayer.html" title="class in org.mpisws.p2p.transport.direct">DirectTransportLayer</A>&lt;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#getTL(Identifier)">getTL</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</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;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#isAlive(Identifier)">isAlive</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</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;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html#networkDelay(Identifier, Identifier)">networkDelay</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;b)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;computes the one-way distance between two NodeIds</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/BasicNetworkSimulator.html#proximity(Identifier, Identifier)">proximity</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;b)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;computes the rtt between two NodeIds</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/BasicNetworkSimulator.html#registerIdentifier(Identifier, org.mpisws.p2p.transport.direct.DirectTransportLayer, rice.pastry.direct.NodeRecord)">registerIdentifier</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;&nbsp;dtl,
<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A>&nbsp;record)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the liveliness of a NodeId</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/BasicNetworkSimulator.html#remove(Identifier)">remove</A></B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kill identifier.</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/BasicNetworkSimulator.html#removeLivenessListener(org.mpisws.p2p.transport.liveness.LivenessListener)">removeLivenessListener</A></B>(<A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessListener.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessListener</A>&lt;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.mpisws.p2p.transport.direct.EventSimulator"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.mpisws.p2p.transport.direct.<A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html" title="class in org.mpisws.p2p.transport.direct">EventSimulator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#setFullSpeed()">setFullSpeed</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#setMaxSpeed(float)">setMaxSpeed</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#simulate()">simulate</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#start()">start</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/EventSimulator.html#stop()">stop</A></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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.mpisws.p2p.transport.direct.GenericNetworkSimulator"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.mpisws.p2p.transport.direct.<A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html" title="interface in org.mpisws.p2p.transport.direct">GenericNetworkSimulator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#setFullSpeed()">setFullSpeed</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#setMaxSpeed(float)">setMaxSpeed</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#start()">start</A>, <A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#stop()">stop</A></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="MIN_DELAY"><!-- --></A><H3>
MIN_DELAY</H3>
<PRE>
protected int <B>MIN_DELAY</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="maxDiameter"><!-- --></A><H3>
maxDiameter</H3>
<PRE>
protected final int <B>maxDiameter</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="minDelay"><!-- --></A><H3>
minDelay</H3>
<PRE>
protected final int <B>minDelay</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="BasicNetworkSimulator(rice.environment.Environment, rice.environment.random.RandomSource, rice.pastry.direct.NetworkSimulator)"><!-- --></A><H3>
BasicNetworkSimulator</H3>
<PRE>
public <B>BasicNetworkSimulator</B>(<A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A>&nbsp;env,
<A HREF="../../../rice/environment/random/RandomSource.html" title="interface in rice.environment.random">RandomSource</A>&nbsp;random,
<A HREF="../../../rice/pastry/direct/NetworkSimulator.html" title="interface in rice.pastry.direct">NetworkSimulator</A>&lt;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;&nbsp;sim)</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="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;d,
int&nbsp;delay)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#enqueueDelivery(org.mpisws.p2p.transport.direct.Delivery, int)">GenericNetworkSimulator</A></CODE></B></DD>
<DD>Deliver message.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#enqueueDelivery(org.mpisws.p2p.transport.direct.Delivery, int)">enqueueDelivery</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="deliverMessage(java.lang.Object,java.lang.Object,java.lang.Object)"><!-- --></A><A NAME="deliverMessage(MessageType, Identifier, Identifier)"><!-- --></A><H3>
deliverMessage</H3>
<PRE>
public <A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A> <B>deliverMessage</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from)</PRE>
<DL>
<DD>node should always be a local node, because this will be delivered instantly
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="deliverMessage(java.lang.Object,java.lang.Object,java.lang.Object,int)"><!-- --></A><A NAME="deliverMessage(MessageType, Identifier, Identifier, int)"><!-- --></A><H3>
deliverMessage</H3>
<PRE>
public <A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A> <B>deliverMessage</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from,
int&nbsp;delay)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#deliverMessage(MessageType, Identifier, Identifier, int)">GenericNetworkSimulator</A></CODE></B></DD>
<DD>Deliver message.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#deliverMessage(MessageType, Identifier, Identifier, int)">deliverMessage</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>msg</CODE> - message to deliver.</DL>
</DD>
</DL>
<HR>
<A NAME="deliverMessageFixedRate(java.lang.Object,java.lang.Object,java.lang.Object,int,int)"><!-- --></A><A NAME="deliverMessageFixedRate(MessageType, Identifier, Identifier, int, int)"><!-- --></A><H3>
deliverMessageFixedRate</H3>
<PRE>
public <A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A> <B>deliverMessageFixedRate</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from,
int&nbsp;delay,
int&nbsp;period)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="deliverMessage(java.lang.Object,java.lang.Object,java.lang.Object,int,int)"><!-- --></A><A NAME="deliverMessage(MessageType, Identifier, Identifier, int, int)"><!-- --></A><H3>
deliverMessage</H3>
<PRE>
public <A HREF="../../../rice/p2p/commonapi/Cancellable.html" title="interface in rice.p2p.commonapi">Cancellable</A> <B>deliverMessage</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&nbsp;msg,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;node,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;from,
int&nbsp;delay,
int&nbsp;period)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="registerIdentifier(java.lang.Object,org.mpisws.p2p.transport.direct.DirectTransportLayer,rice.pastry.direct.NodeRecord)"><!-- --></A><A NAME="registerIdentifier(Identifier, org.mpisws.p2p.transport.direct.DirectTransportLayer, rice.pastry.direct.NodeRecord)"><!-- --></A><H3>
registerIdentifier</H3>
<PRE>
public void <B>registerIdentifier</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;&nbsp;dtl,
<A HREF="../../../rice/pastry/direct/NodeRecord.html" title="interface in rice.pastry.direct">NodeRecord</A>&nbsp;record)</PRE>
<DL>
<DD>set the liveliness of a NodeId
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nid</CODE> - the NodeId being set<DD><CODE>alive</CODE> - the value being set</DL>
</DD>
</DL>
<HR>
<A NAME="remove(java.lang.Object)"><!-- --></A><A NAME="remove(Identifier)"><!-- --></A><H3>
remove</H3>
<PRE>
public void <B>remove</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#remove(Identifier)">GenericNetworkSimulator</A></CODE></B></DD>
<DD>Kill identifier.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#remove(Identifier)">remove</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<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="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#getEnvironment()">getEnvironment</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getEnvironment(java.lang.Object)"><!-- --></A><A NAME="getEnvironment(Identifier)"><!-- --></A><H3>
getEnvironment</H3>
<PRE>
public <A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A> <B>getEnvironment</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#getEnvironment(Identifier)">GenericNetworkSimulator</A></CODE></B></DD>
<DD>Get the environment related to a specific node.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#getEnvironment(Identifier)">getEnvironment</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>
<A NAME="getRandomSource()"><!-- --></A><H3>
getRandomSource</H3>
<PRE>
public <A HREF="../../../rice/environment/random/RandomSource.html" title="interface in rice.environment.random">RandomSource</A> <B>getRandomSource</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#getRandomSource()">getRandomSource</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#isAlive(Identifier)">isAlive</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getTL(java.lang.Object)"><!-- --></A><A NAME="getTL(Identifier)"><!-- --></A><H3>
getTL</H3>
<PRE>
public <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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt; <B>getTL</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#getTL(Identifier)">getTL</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;b)</PRE>
<DL>
<DD>computes the one-way distance between two NodeIds
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/direct/GenericNetworkSimulator.html#networkDelay(Identifier, Identifier)">networkDelay</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>,<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">MessageType</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - the first NodeId<DD><CODE>b</CODE> - the second NodeId
<DT><B>Returns:</B><DD>the proximity between the two input NodeIds</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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;a,
<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;b)</PRE>
<DL>
<DD>computes the rtt between two NodeIds
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - the first NodeId<DD><CODE>b</CODE> - the second NodeId
<DT><B>Returns:</B><DD>the proximity between the two input NodeIds</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>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addLivenessListener(org.mpisws.p2p.transport.liveness.LivenessListener)"><!-- --></A><H3>
addLivenessListener</H3>
<PRE>
public void <B>addLivenessListener</B>(<A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessListener.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessListener</A>&lt;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;&nbsp;name)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html#addLivenessListener(org.mpisws.p2p.transport.liveness.LivenessListener)">addLivenessListener</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="removeLivenessListener(org.mpisws.p2p.transport.liveness.LivenessListener)"><!-- --></A><H3>
removeLivenessListener</H3>
<PRE>
public boolean <B>removeLivenessListener</B>(<A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessListener.html" title="interface in org.mpisws.p2p.transport.liveness">LivenessListener</A>&lt;<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;&nbsp;name)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html#removeLivenessListener(org.mpisws.p2p.transport.liveness.LivenessListener)">removeLivenessListener</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="checkLiveness(java.lang.Object,java.util.Map)"><!-- --></A><A NAME="checkLiveness(Identifier, java.util.Map)"><!-- --></A><H3>
checkLiveness</H3>
<PRE>
public boolean <B>checkLiveness</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i,
java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html#checkLiveness(Identifier, java.util.Map)">LivenessProvider</A></CODE></B></DD>
<DD>Returns whether a new notification will occur.
Will return false if a liveness check has recently completed.
Will return true if a new liveness check starts, or an existing one is in progress.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html#checkLiveness(Identifier, java.util.Map)">checkLiveness</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - the node to check
<DT><B>Returns:</B><DD>true if there will be an update (either a ping, or a change in liveness)
false if there won't be an update due to bandwidth concerns</DL>
</DD>
</DL>
<HR>
<A NAME="getLiveness(java.lang.Object,java.util.Map)"><!-- --></A><A NAME="getLiveness(Identifier, java.util.Map)"><!-- --></A><H3>
getLiveness</H3>
<PRE>
public int <B>getLiveness</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i,
java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;options)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html#getLiveness(Identifier, java.util.Map)">getLiveness</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="clearState(java.lang.Object)"><!-- --></A><A NAME="clearState(Identifier)"><!-- --></A><H3>
clearState</H3>
<PRE>
public void <B>clearState</B>(<A HREF="../../../rice/pastry/direct/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</A>&nbsp;i)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html#clearState(Identifier)">LivenessProvider</A></CODE></B></DD>
<DD>Force layer to clear the existing state related to the Identifier. Usually
if there is reason to believe a node has returned.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/mpisws/p2p/transport/liveness/LivenessProvider.html#clearState(Identifier)">clearState</A></CODE> in interface <CODE><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/BasicNetworkSimulator.html" title="type parameter in BasicNetworkSimulator">Identifier</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/BasicNetworkSimulator.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;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../rice/pastry/direct/DeliveryTimerTask.html" title="class 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/BasicNetworkSimulator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="BasicNetworkSimulator.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>