Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 29c369053a983cc5d8c880dc6e0a2237 > files > 1525

libdtn-devel-2.6.0-2mdv2009.1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>DTN Reference Implementation: dtnsim::Simulator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacedtnsim.html">dtnsim</a>::<a class="el" href="classdtnsim_1_1Simulator.html">Simulator</a>
  </div>
</div>
<div class="contents">
<h1>dtnsim::Simulator Class Reference</h1><!-- doxytag: class="dtnsim::Simulator" --><!-- doxytag: inherits="dtnsim::SimEventHandler" -->The main simulator class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="Simulator_8h-source.html">Simulator.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dtnsim::Simulator:</div>
<div class="dynsection">

<p><center><img src="classdtnsim_1_1Simulator.png" usemap="#dtnsim::Simulator_map" border="0" alt=""></center>
<map name="dtnsim::Simulator_map">
<area href="classdtnsim_1_1SimEventHandler.html" alt="dtnsim::SimEventHandler" shape="rect" coords="0,0,150,24">
</map>
</div>

<p>
<a href="classdtnsim_1_1Simulator-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#5d17ae3f95414a283a1595fdd2cefb3e">Simulator</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#5d17ae3f95414a283a1595fdd2cefb3e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#d8c5e1b1971e84c31f7937ae817a4851">~Simulator</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#d8c5e1b1971e84c31f7937ae817a4851"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#7acdfd3573abad2d862944e92bfca16d">exit</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops simulation and exits the loop.  <a href="#7acdfd3573abad2d862944e92bfca16d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#02abc66ca653adfcc92d8aec68b183da">run</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main run loop.  <a href="#02abc66ca653adfcc92d8aec68b183da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#f52eb7a2e5c0ee7343fcbd50dc2faef7">run_node_events</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle all bundle events at nodes returning the amount of time (in ms) until the next timer is due.  <a href="#f52eb7a2e5c0ee7343fcbd50dc2faef7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#e253c215d84b63068747ac94adb7b778">pause</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pause execution of the simulator, running a console loop until it exits.  <a href="#e253c215d84b63068747ac94adb7b778"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#9a749bd8ace235e9e8cafb5a4d8fc9b1">run_console</a> (<a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> complete)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run the command loop.  <a href="#9a749bd8ace235e9e8cafb5a4d8fc9b1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#e37776c67ac6018b431382d0f02f5cad">set_exit_event</a> (<a class="el" href="classdtnsim_1_1SimAtEvent.html">SimAtEvent</a> *event)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a command to run at exit.  <a href="#e37776c67ac6018b431382d0f02f5cad"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#e428d32758e9f94c855b43527d87bd84">time</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current simulator time.  <a href="#e428d32758e9f94c855b43527d87bd84"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#ebd17c1beaacc7f1f6e11e963d09e0ec">post</a> (<a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a> *e)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an event to the main event queue.  <a href="#ebd17c1beaacc7f1f6e11e963d09e0ec"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#c3e483526794d4ccd4a3e9e78bc95b2f">runtill_</a> = -1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">time to end the simulation  <a href="#c3e483526794d4ccd4a3e9e78bc95b2f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#5e2a212a321fd812422ad8d824308fb8">process</a> (<a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a> *e)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classdtnsim_1_1SimEventHandler.html" title="Interface implemented by all objects that handle simulator events.">SimEventHandler</a>.  <a href="#5e2a212a321fd812422ad8d824308fb8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#045c83976fbabbc3494142e02e0820b1">log_inqueue_stats</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#773551d739b93f1dc1ae063c623c7c29">run_at_event</a> (<a class="el" href="classdtnsim_1_1SimAtEvent.html">SimAtEvent</a> *evt)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#327cd35d3972508033443ffeaf9eb90d">check_interrupt</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#079d73f7048d4371501d93e064bcf138">handle_interrupt</a> (int sig)</td></tr>

<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::priority_queue&lt; <a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a> <br class="typebreak">
*, std::vector&lt; <a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a> * &gt;<br class="typebreak">
, <a class="el" href="classdtnsim_1_1SimEventCompare.html">SimEventCompare</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#6aa1c59f30f934aa3201768eeab02b50">eventq_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtnsim_1_1SimAtEvent.html">SimAtEvent</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#8aaf01a69ac5f46847e396af564a0f45">exit_event_</a></td></tr>

<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#726f668284f415ba7160cc8ebcc9a124">time_</a> = 0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current time (static to avoid object)  <a href="#726f668284f415ba7160cc8ebcc9a124"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtnsim_1_1Simulator.html#2066f289b67cff4cd17baf93a8a12902">interrupted_</a> = false</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The main simulator class. 
<p>
This defines the main event loop 
<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00030">30</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="5d17ae3f95414a283a1595fdd2cefb3e"></a><!-- doxytag: member="dtnsim::Simulator::Simulator" ref="5d17ae3f95414a283a1595fdd2cefb3e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtnsim::Simulator::Simulator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00043">43</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="d8c5e1b1971e84c31f7937ae817a4851"></a><!-- doxytag: member="dtnsim::Simulator::~Simulator" ref="d8c5e1b1971e84c31f7937ae817a4851" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual dtnsim::Simulator::~Simulator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>

<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00048">48</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="327cd35d3972508033443ffeaf9eb90d"></a><!-- doxytag: member="dtnsim::Simulator::check_interrupt" ref="327cd35d3972508033443ffeaf9eb90d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::check_interrupt           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00254">254</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="Simulator_8h-source.html#l00112">interrupted_</a>, <a class="el" href="Simulator_8cc-source.html#l00221">run_console()</a>, and <a class="el" href="Simulator_8h-source.html#l00097">time_</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>, and <a class="el" href="Simulator_8cc-source.html#l00066">run_node_events()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7acdfd3573abad2d862944e92bfca16d"></a><!-- doxytag: member="dtnsim::Simulator::exit" ref="7acdfd3573abad2d862944e92bfca16d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::exit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stops simulation and exits the loop. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00059">59</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="079d73f7048d4371501d93e064bcf138"></a><!-- doxytag: member="dtnsim::Simulator::handle_interrupt" ref="079d73f7048d4371501d93e064bcf138" args="(int sig)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::handle_interrupt           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>sig</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00241">241</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="Simulator_8h-source.html#l00112">interrupted_</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="045c83976fbabbc3494142e02e0820b1"></a><!-- doxytag: member="dtnsim::Simulator::log_inqueue_stats" ref="045c83976fbabbc3494142e02e0820b1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::log_inqueue_stats           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00108">108</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00475">dtn::BundleList::begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">dtn::BundleList::end()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00285">dtn::BundleList::lock()</a>, <a class="el" href="Topology_8h-source.html#l00042">dtnsim::Topology::node_table()</a>, and <a class="el" href="BundleDaemon_8h-source.html#l00161">dtn::BundleDaemon::pending_bundles()</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e253c215d84b63068747ac94adb7b778"></a><!-- doxytag: member="dtnsim::Simulator::pause" ref="e253c215d84b63068747ac94adb7b778" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::pause           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pause execution of the simulator, running a console loop until it exits. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00210">210</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="Simulator_8cc-source.html#l00221">run_console()</a>, and <a class="el" href="Simulator_8h-source.html#l00097">time_</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00308">run_at_event()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ebd17c1beaacc7f1f6e11e963d09e0ec"></a><!-- doxytag: member="dtnsim::Simulator::post" ref="ebd17c1beaacc7f1f6e11e963d09e0ec" args="(SimEvent *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::post           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add an event to the main event queue. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00052">52</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>Referenced by <a class="el" href="SimCommand_8cc-source.html#l00045">dtnsim::SimCommand::exec()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5e2a212a321fd812422ad8d824308fb8"></a><!-- doxytag: member="dtnsim::Simulator::process" ref="5e2a212a321fd812422ad8d824308fb8" args="(SimEvent *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::process           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classdtnsim_1_1SimEventHandler.html" title="Interface implemented by all objects that handle simulator events.">SimEventHandler</a>. 
<p>

<p>Implements <a class="el" href="classdtnsim_1_1SimEventHandler.html#f29a84edd81f5cc40648bd5f85fd2618">dtnsim::SimEventHandler</a>.</p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00286">286</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="Simulator_8cc-source.html#l00308">run_at_event()</a>, <a class="el" href="SimEvent_8h-source.html#l00034">dtnsim::SIM_AT_EVENT</a>, and <a class="el" href="SimEvent_8h-source.html#l00065">dtnsim::SimEvent::type()</a>.</p>

</div>
</div><p>
<a class="anchor" name="02abc66ca653adfcc92d8aec68b183da"></a><!-- doxytag: member="dtnsim::Simulator::run" ref="02abc66ca653adfcc92d8aec68b183da" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::run           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Main run loop. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00131">131</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="Simulator_8cc-source.html#l00254">check_interrupt()</a>, <a class="el" href="Simulator_8h-source.html#l00101">eventq_</a>, <a class="el" href="Simulator_8h-source.html#l00103">exit_event_</a>, <a class="el" href="Simulator_8cc-source.html#l00241">handle_interrupt()</a>, <a class="el" href="SimEvent_8h-source.html#l00062">dtnsim::SimEvent::handler()</a>, <a class="el" href="SimEvent_8h-source.html#l00064">dtnsim::SimEvent::is_valid()</a>, <a class="el" href="BlockProcessor_8cc-source.html#l00030">dtn::log</a>, <a class="el" href="Simulator_8cc-source.html#l00108">log_inqueue_stats()</a>, <a class="el" href="Topology_8h-source.html#l00042">dtnsim::Topology::node_table()</a>, <a class="el" href="classdtnsim_1_1SimEventHandler.html#f29a84edd81f5cc40648bd5f85fd2618">dtnsim::SimEventHandler::process()</a>, <a class="el" href="Simulator_8cc-source.html#l00308">run_at_event()</a>, <a class="el" href="Simulator_8cc-source.html#l00066">run_node_events()</a>, <a class="el" href="Simulator_8h-source.html#l00087">runtill_</a>, <a class="el" href="SimEvent_8h-source.html#l00063">dtnsim::SimEvent::time()</a>, <a class="el" href="Simulator_8h-source.html#l00097">time_</a>, and <a class="el" href="SimEvent_8h-source.html#l00066">dtnsim::SimEvent::type_str()</a>.</p>

</div>
</div><p>
<a class="anchor" name="773551d739b93f1dc1ae063c623c7c29"></a><!-- doxytag: member="dtnsim::Simulator::run_at_event" ref="773551d739b93f1dc1ae063c623c7c29" args="(SimAtEvent *evt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::run_at_event           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtnsim_1_1SimAtEvent.html">SimAtEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>evt</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00308">308</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="SimEvent_8h-source.html#l00099">dtnsim::SimAtEvent::objc_</a>, <a class="el" href="SimEvent_8h-source.html#l00100">dtnsim::SimAtEvent::objv_</a>, and <a class="el" href="Simulator_8cc-source.html#l00210">pause()</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00286">process()</a>, and <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9a749bd8ace235e9e8cafb5a4d8fc9b1"></a><!-- doxytag: member="dtnsim::Simulator::run_console" ref="9a749bd8ace235e9e8cafb5a4d8fc9b1" args="(bool complete)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::run_console           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>complete</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Run the command loop. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00221">221</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="sim_2Node_8h-source.html#l00135">dtnsim::Node::active_node()</a>, <a class="el" href="Simulator_8h-source.html#l00112">interrupted_</a>, and <a class="el" href="sim_2Node_8cc-source.html#l00105">dtnsim::Node::set_active()</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00254">check_interrupt()</a>, and <a class="el" href="Simulator_8cc-source.html#l00210">pause()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f52eb7a2e5c0ee7343fcbd50dc2faef7"></a><!-- doxytag: member="dtnsim::Simulator::run_node_events" ref="f52eb7a2e5c0ee7343fcbd50dc2faef7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtnsim::Simulator::run_node_events           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle all bundle events at nodes returning the amount of time (in ms) until the next timer is due. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00066">66</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="Simulator_8cc-source.html#l00254">check_interrupt()</a>, <a class="el" href="sim_2Node_8h-source.html#l00115">dtnsim::Node::name()</a>, <a class="el" href="Topology_8h-source.html#l00042">dtnsim::Topology::node_table()</a>, <a class="el" href="sim_2Node_8cc-source.html#l00142">dtnsim::Node::process_one_bundle_event()</a>, and <a class="el" href="sim_2Node_8cc-source.html#l00105">dtnsim::Node::set_active()</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e37776c67ac6018b431382d0f02f5cad"></a><!-- doxytag: member="dtnsim::Simulator::set_exit_event" ref="e37776c67ac6018b431382d0f02f5cad" args="(SimAtEvent *event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtnsim::Simulator::set_exit_event           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtnsim_1_1SimAtEvent.html">SimAtEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Register a command to run at exit. 
<p>

<p>Definition at line <a class="el" href="Simulator_8cc-source.html#l00300">300</a> of file <a class="el" href="Simulator_8cc-source.html">Simulator.cc</a>.</p>

<p>References <a class="el" href="Simulator_8h-source.html#l00103">exit_event_</a>.</p>

</div>
</div><p>
<a class="anchor" name="e428d32758e9f94c855b43527d87bd84"></a><!-- doxytag: member="dtnsim::Simulator::time" ref="e428d32758e9f94c855b43527d87bd84" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double dtnsim::Simulator::time           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the current simulator time. 
<p>

<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00038">38</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>

<p>References <a class="el" href="Simulator_8h-source.html#l00097">time_</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00269">dtnsim::gettimeofday()</a>, <a class="el" href="SimLog_8cc-source.html#l00054">dtnsim::SimLog::log_entry()</a>, and <a class="el" href="SimConvergenceLayer_8cc-source.html#l00152">dtnsim::SimLink::start_next_bundle()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="6aa1c59f30f934aa3201768eeab02b50"></a><!-- doxytag: member="dtnsim::Simulator::eventq_" ref="6aa1c59f30f934aa3201768eeab02b50" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::priority_queue&lt;<a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a>*, std::vector&lt;<a class="el" href="classdtnsim_1_1SimEvent.html">SimEvent</a>*&gt;, <a class="el" href="classdtnsim_1_1SimEventCompare.html">SimEventCompare</a>&gt; <a class="el" href="classdtnsim_1_1Simulator.html#6aa1c59f30f934aa3201768eeab02b50">dtnsim::Simulator::eventq_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00101">101</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8aaf01a69ac5f46847e396af564a0f45"></a><!-- doxytag: member="dtnsim::Simulator::exit_event_" ref="8aaf01a69ac5f46847e396af564a0f45" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtnsim_1_1SimAtEvent.html">SimAtEvent</a>* <a class="el" href="classdtnsim_1_1Simulator.html#8aaf01a69ac5f46847e396af564a0f45">dtnsim::Simulator::exit_event_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00103">103</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>, and <a class="el" href="Simulator_8cc-source.html#l00300">set_exit_event()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2066f289b67cff4cd17baf93a8a12902"></a><!-- doxytag: member="dtnsim::Simulator::interrupted_" ref="2066f289b67cff4cd17baf93a8a12902" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classdtnsim_1_1Simulator.html#2066f289b67cff4cd17baf93a8a12902">dtnsim::Simulator::interrupted_</a> = false<code> [static, private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00112">112</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00254">check_interrupt()</a>, <a class="el" href="Simulator_8cc-source.html#l00241">handle_interrupt()</a>, and <a class="el" href="Simulator_8cc-source.html#l00221">run_console()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c3e483526794d4ccd4a3e9e78bc95b2f"></a><!-- doxytag: member="dtnsim::Simulator::runtill_" ref="c3e483526794d4ccd4a3e9e78bc95b2f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classdtnsim_1_1Simulator.html#c3e483526794d4ccd4a3e9e78bc95b2f">dtnsim::Simulator::runtill_</a> = -1<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
time to end the simulation 
<p>

<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00087">87</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>, and <a class="el" href="SimCommand_8cc-source.html#l00035">dtnsim::SimCommand::SimCommand()</a>.</p>

</div>
</div><p>
<a class="anchor" name="726f668284f415ba7160cc8ebcc9a124"></a><!-- doxytag: member="dtnsim::Simulator::time_" ref="726f668284f415ba7160cc8ebcc9a124" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classdtnsim_1_1Simulator.html#726f668284f415ba7160cc8ebcc9a124">dtnsim::Simulator::time_</a> = 0<code> [static, private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
current time (static to avoid object) 
<p>

<p>Definition at line <a class="el" href="Simulator_8h-source.html#l00097">97</a> of file <a class="el" href="Simulator_8h-source.html">Simulator.h</a>.</p>

<p>Referenced by <a class="el" href="Simulator_8cc-source.html#l00254">check_interrupt()</a>, <a class="el" href="Simulator_8cc-source.html#l00210">pause()</a>, <a class="el" href="Simulator_8cc-source.html#l00131">run()</a>, and <a class="el" href="Simulator_8h-source.html#l00038">time()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="Simulator_8h-source.html">Simulator.h</a><li><a class="el" href="Simulator_8cc-source.html">Simulator.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:05 2009 for DTN Reference Implementation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>