Sophie

Sophie

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

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: dtn::Session 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="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1Session.html">Session</a>
  </div>
</div>
<div class="contents">
<h1>dtn::Session Class Reference</h1><!-- doxytag: class="dtn::Session" --><!-- doxytag: inherits="dtn::RouteEntryInfo" -->Class to manage a session.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="Session_8h-source.html">Session.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dtn::Session:</div>
<div class="dynsection">

<p><center><img src="classdtn_1_1Session.png" usemap="#dtn::Session_map" border="0" alt=""></center>
<map name="dtn::Session_map">
<area href="classdtn_1_1RouteEntryInfo.html" alt="dtn::RouteEntryInfo" shape="rect" coords="0,0,118,24">
</map>
</div>

<p>
<a href="classdtn_1_1Session-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 Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498c">flags_t</a> { <br>
&nbsp;&nbsp;<a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498cfb01c7fbba0e5924bad579f9ff6f821e">NONE</a> =  0, 
<a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498cadd5836fef35cca7c207e710e8e13239">SUBSCRIBE</a> =  1&lt;&lt;1, 
<a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498c8ec080183d9e900330780466c77a30be">RESUBSCRIBE</a> =  1&lt;&lt;2, 
<a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498c8e488d456de6b606d948dde9283e7c67">UNSUBSCRIBE</a> =  1&lt;&lt;3, 
<br>
&nbsp;&nbsp;<a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498ccdf11ed3fd8ed094c39a59734bdc4822">SUBSCRIPTION_ACK</a> =  1&lt;&lt;4, 
<a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498c1978e38ca305c80fe009dd50fe24a3be">PUBLISH</a> =  1&lt;&lt;5, 
<a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498c1ccfadd042afba693bbcf1e5980667d9">CUSTODY</a> =  1&lt;&lt;6
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for session-related flags.  <a href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498c">More...</a><br></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="classdtn_1_1Session.html#fe6268c4ee6a16422b353a4c1b4d5664">Session</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;eid)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#5e21c3d507e14646639cf10bde0ecd85">~Session</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#96dc0cfc6d7733784b250e7ed3a47476">format</a> (char *<a class="el" href="num2sdnv_8c.html#a81cdcc7ff6987bc85c073253e32715f">buf</a>, size_t sz) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">virtual from Formatter  <a href="#96dc0cfc6d7733784b250e7ed3a47476"></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="classdtn_1_1Session.html#4226535ee200c42854fb5fd040134dbd">set_upstream</a> (const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> &amp;subscriber)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#92b88bd55939a1766a3f2674ce20482c">add_subscriber</a> (const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> &amp;subscriber)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#30bf27ca931dcd41de355a51b2c47c8d">set_resubscribe_timer</a> (oasys::Timer *t)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#6844cf754501357d8e0be0709e719cec">id</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#66224a2445e558bacc56d3977909a6d1">eid</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#d483d580e9a1e213e974cb41b875065b">upstream</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="namespacedtn.html#c04549597621019784854bfdb66463d3">SubscriberList</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#f06e7f94d2ed1aeda7dafe18a2dd747e">subscribers</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleList.html">BundleList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#21163251275fc2104de91c66fd9543d8">bundles</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#bd799ea58a766a69bcfadf0f1ddef47f">sequence_id</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::Timer *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#5bb0b08cf18c10775cf5e40b3d6181a6">resubscribe_timer</a> ()</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 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#f8421d3cc745b485e316195af331fe37">flag_str</a> (u_int flags)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pretty print function for session flags.  <a href="#f8421d3cc745b485e316195af331fe37"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#194a1eafb5c14dea66cd7dcd33be2b82">id_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unique session id (for logging).  <a href="#194a1eafb5c14dea66cd7dcd33be2b82"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#30b1d2db517a7bb230331c9c32f11c46">eid_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> naming the session.  <a href="#30b1d2db517a7bb230331c9c32f11c46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#807018061f8e844a2e813dcb7908fbb7">upstream_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classdtn_1_1Subscriber.html" title="A subscriber for a session is either a local registration or a next hop destination...">Subscriber</a> in direction of a custodian.  <a href="#807018061f8e844a2e813dcb7908fbb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#c04549597621019784854bfdb66463d3">SubscriberList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#eaf2b2040e890ac4668c13095f6f06ad">subscribers_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Local + downstream subscribers.  <a href="#eaf2b2040e890ac4668c13095f6f06ad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleList.html">BundleList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#caf06d8eb71d2c3623bf5d4727694da9">bundles_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Currently-resident session bundles.  <a href="#caf06d8eb71d2c3623bf5d4727694da9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#9843de45bc84eef1b92979370c51f071">sequence_id_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a> that covers all bundles.  <a href="#9843de45bc84eef1b92979370c51f071"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::Timer *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Session.html#74beee01234ac9ebdddd53d0fdcc0559">resubscribe_timer_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer to re-send subscribe message.  <a href="#74beee01234ac9ebdddd53d0fdcc0559"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Class to manage a session. 
<p>Definition at line <a class="el" href="Session_8h-source.html#l00038">38</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="a795473f389a203d6e15058da8d9498c"></a><!-- doxytag: member="dtn::Session::flags_t" ref="a795473f389a203d6e15058da8d9498c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classdtn_1_1Session.html#a795473f389a203d6e15058da8d9498c">dtn::Session::flags_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type for session-related flags. 
<p>
XXX/demmer should split these into two enums. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="a795473f389a203d6e15058da8d9498cfb01c7fbba0e5924bad579f9ff6f821e"></a><!-- doxytag: member="NONE" ref="a795473f389a203d6e15058da8d9498cfb01c7fbba0e5924bad579f9ff6f821e" args="" -->NONE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="a795473f389a203d6e15058da8d9498cadd5836fef35cca7c207e710e8e13239"></a><!-- doxytag: member="SUBSCRIBE" ref="a795473f389a203d6e15058da8d9498cadd5836fef35cca7c207e710e8e13239" args="" -->SUBSCRIBE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="a795473f389a203d6e15058da8d9498c8ec080183d9e900330780466c77a30be"></a><!-- doxytag: member="RESUBSCRIBE" ref="a795473f389a203d6e15058da8d9498c8ec080183d9e900330780466c77a30be" args="" -->RESUBSCRIBE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="a795473f389a203d6e15058da8d9498c8e488d456de6b606d948dde9283e7c67"></a><!-- doxytag: member="UNSUBSCRIBE" ref="a795473f389a203d6e15058da8d9498c8e488d456de6b606d948dde9283e7c67" args="" -->UNSUBSCRIBE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="a795473f389a203d6e15058da8d9498ccdf11ed3fd8ed094c39a59734bdc4822"></a><!-- doxytag: member="SUBSCRIPTION_ACK" ref="a795473f389a203d6e15058da8d9498ccdf11ed3fd8ed094c39a59734bdc4822" args="" -->SUBSCRIPTION_ACK</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="a795473f389a203d6e15058da8d9498c1978e38ca305c80fe009dd50fe24a3be"></a><!-- doxytag: member="PUBLISH" ref="a795473f389a203d6e15058da8d9498c1978e38ca305c80fe009dd50fe24a3be" args="" -->PUBLISH</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="a795473f389a203d6e15058da8d9498c1ccfadd042afba693bbcf1e5980667d9"></a><!-- doxytag: member="CUSTODY" ref="a795473f389a203d6e15058da8d9498c1ccfadd042afba693bbcf1e5980667d9" args="" -->CUSTODY</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00049">49</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="fe6268c4ee6a16422b353a4c1b4d5664"></a><!-- doxytag: member="dtn::Session::Session" ref="fe6268c4ee6a16422b353a4c1b4d5664" args="(const EndpointID &amp;eid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::Session::Session           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>eid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8cc-source.html#l00028">28</a> of file <a class="el" href="Session_8cc-source.html">Session.cc</a>.</p>

<p>References <a class="el" href="EndpointID_8h-source.html#l00264">dtn::EndpointID::c_str()</a>, and <a class="el" href="Session_8h-source.html#l00083">id_</a>.</p>

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

<p>

<p>Definition at line <a class="el" href="Session_8cc-source.html#l00042">42</a> of file <a class="el" href="Session_8cc-source.html">Session.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="92b88bd55939a1766a3f2674ce20482c"></a><!-- doxytag: member="dtn::Session::add_subscriber" ref="92b88bd55939a1766a3f2674ce20482c" args="(const Subscriber &amp;subscriber)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::Session::add_subscriber           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>subscriber</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8cc-source.html#l00085">85</a> of file <a class="el" href="Session_8cc-source.html">Session.cc</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00086">subscribers_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01000">dtn::TableBasedRouter::handle_registration_added()</a>, and <a class="el" href="Session_8cc-source.html#l00075">set_upstream()</a>.</p>

</div>
</div><p>
<a class="anchor" name="21163251275fc2104de91c66fd9543d8"></a><!-- doxytag: member="dtn::Session::bundles" ref="21163251275fc2104de91c66fd9543d8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1BundleList.html">BundleList</a>* dtn::Session::bundles           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00078">78</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00087">bundles_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, and <a class="el" href="TableBasedRouter_8cc-source.html#l00342">dtn::TableBasedRouter::delete_bundle()</a>.</p>

</div>
</div><p>
<a class="anchor" name="66224a2445e558bacc56d3977909a6d1"></a><!-- doxytag: member="dtn::Session::eid" ref="66224a2445e558bacc56d3977909a6d1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a>&amp; dtn::Session::eid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00075">75</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00084">eid_</a>.</p>

<p>Referenced by <a class="el" href="SessionTable_8cc-source.html#l00047">dtn::SessionTable::add_session()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, <a class="el" href="SessionTable_8cc-source.html#l00068">dtn::SessionTable::dump()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01227">dtn::TableBasedRouter::find_session_upstream()</a>, <a class="el" href="Session_8cc-source.html#l00048">format()</a>, and <a class="el" href="TableBasedRouter_8cc-source.html#l01038">dtn::TableBasedRouter::subscribe_to_session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f8421d3cc745b485e316195af331fe37"></a><!-- doxytag: member="dtn::Session::flag_str" ref="f8421d3cc745b485e316195af331fe37" args="(u_int flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * dtn::Session::flag_str           </td>
          <td>(</td>
          <td class="paramtype">u_int&nbsp;</td>
          <td class="paramname"> <em>flags</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pretty print function for session flags. 
<p>

<p>Definition at line <a class="el" href="Session_8cc-source.html#l00055">55</a> of file <a class="el" href="Session_8cc-source.html">Session.cc</a>.</p>

<p>References <a class="el" href="num2sdnv_8c-source.html#l00035">buf</a>, <a class="el" href="Session_8h-source.html#l00056">CUSTODY</a>, <a class="el" href="Session_8h-source.html#l00055">PUBLISH</a>, <a class="el" href="Session_8h-source.html#l00052">RESUBSCRIBE</a>, <a class="el" href="Session_8h-source.html#l00051">SUBSCRIBE</a>, and <a class="el" href="Session_8h-source.html#l00053">UNSUBSCRIBE</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l01103">dtn::TableBasedRouter::handle_session_bundle()</a>, and <a class="el" href="APIServer_8cc-source.html#l01553">dtn::APIClient::handle_session_update()</a>.</p>

</div>
</div><p>
<a class="anchor" name="96dc0cfc6d7733784b250e7ed3a47476"></a><!-- doxytag: member="dtn::Session::format" ref="96dc0cfc6d7733784b250e7ed3a47476" args="(char *buf, size_t sz) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dtn::Session::format           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>sz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
virtual from Formatter 
<p>

<p>Definition at line <a class="el" href="Session_8cc-source.html#l00048">48</a> of file <a class="el" href="Session_8cc-source.html">Session.cc</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00075">eid()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6844cf754501357d8e0be0709e719cec"></a><!-- doxytag: member="dtn::Session::id" ref="6844cf754501357d8e0be0709e719cec" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t dtn::Session::id           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00074">74</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00083">id_</a>.</p>

</div>
</div><p>
<a class="anchor" name="5bb0b08cf18c10775cf5e40b3d6181a6"></a><!-- doxytag: member="dtn::Session::resubscribe_timer" ref="5bb0b08cf18c10775cf5e40b3d6181a6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::Timer* dtn::Session::resubscribe_timer           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00080">80</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00089">resubscribe_timer_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l01038">dtn::TableBasedRouter::subscribe_to_session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="bd799ea58a766a69bcfadf0f1ddef47f"></a><!-- doxytag: member="dtn::Session::sequence_id" ref="bd799ea58a766a69bcfadf0f1ddef47f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a>* dtn::Session::sequence_id           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00079">79</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00088">sequence_id_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, and <a class="el" href="TableBasedRouter_8cc-source.html#l01038">dtn::TableBasedRouter::subscribe_to_session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="30bf27ca931dcd41de355a51b2c47c8d"></a><!-- doxytag: member="dtn::Session::set_resubscribe_timer" ref="30bf27ca931dcd41de355a51b2c47c8d" args="(oasys::Timer *t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::Session::set_resubscribe_timer           </td>
          <td>(</td>
          <td class="paramtype">oasys::Timer *&nbsp;</td>
          <td class="paramname"> <em>t</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00072">72</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00089">resubscribe_timer_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l01038">dtn::TableBasedRouter::subscribe_to_session()</a>, and <a class="el" href="TableBasedRouter_8cc-source.html#l01091">dtn::TableBasedRouter::TableBasedRouter::ResubscribeTimer::timeout()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4226535ee200c42854fb5fd040134dbd"></a><!-- doxytag: member="dtn::Session::set_upstream" ref="4226535ee200c42854fb5fd040134dbd" args="(const Subscriber &amp;subscriber)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::Session::set_upstream           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>subscriber</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8cc-source.html#l00075">75</a> of file <a class="el" href="Session_8cc-source.html">Session.cc</a>.</p>

<p>References <a class="el" href="Session_8cc-source.html#l00085">add_subscriber()</a>, and <a class="el" href="Session_8h-source.html#l00085">upstream_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l01227">dtn::TableBasedRouter::find_session_upstream()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f06e7f94d2ed1aeda7dafe18a2dd747e"></a><!-- doxytag: member="dtn::Session::subscribers" ref="f06e7f94d2ed1aeda7dafe18a2dd747e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="namespacedtn.html#c04549597621019784854bfdb66463d3">SubscriberList</a>&amp; dtn::Session::subscribers           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00077">77</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00086">subscribers_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00304">dtn::TableBasedRouter::can_delete_bundle()</a>, and <a class="el" href="SessionTable_8cc-source.html#l00068">dtn::SessionTable::dump()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d483d580e9a1e213e974cb41b875065b"></a><!-- doxytag: member="dtn::Session::upstream" ref="d483d580e9a1e213e974cb41b875065b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a>&amp; dtn::Session::upstream           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00076">76</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>References <a class="el" href="Session_8h-source.html#l00085">upstream_</a>.</p>

<p>Referenced by <a class="el" href="SessionTable_8cc-source.html#l00068">dtn::SessionTable::dump()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01227">dtn::TableBasedRouter::find_session_upstream()</a>, and <a class="el" href="TableBasedRouter_8cc-source.html#l01038">dtn::TableBasedRouter::subscribe_to_session()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="caf06d8eb71d2c3623bf5d4727694da9"></a><!-- doxytag: member="dtn::Session::bundles_" ref="caf06d8eb71d2c3623bf5d4727694da9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1BundleList.html">BundleList</a> <a class="el" href="classdtn_1_1Session.html#caf06d8eb71d2c3623bf5d4727694da9">dtn::Session::bundles_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Currently-resident session bundles. 
<p>

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

<p>Referenced by <a class="el" href="Session_8h-source.html#l00078">bundles()</a>.</p>

</div>
</div><p>
<a class="anchor" name="30b1d2db517a7bb230331c9c32f11c46"></a><!-- doxytag: member="dtn::Session::eid_" ref="30b1d2db517a7bb230331c9c32f11c46" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="el" href="classdtn_1_1Session.html#30b1d2db517a7bb230331c9c32f11c46">dtn::Session::eid_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> naming the session. 
<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00084">84</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>Referenced by <a class="el" href="Session_8h-source.html#l00075">eid()</a>.</p>

</div>
</div><p>
<a class="anchor" name="194a1eafb5c14dea66cd7dcd33be2b82"></a><!-- doxytag: member="dtn::Session::id_" ref="194a1eafb5c14dea66cd7dcd33be2b82" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t <a class="el" href="classdtn_1_1Session.html#194a1eafb5c14dea66cd7dcd33be2b82">dtn::Session::id_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unique session id (for logging). 
<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00083">83</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>Referenced by <a class="el" href="Session_8h-source.html#l00074">id()</a>, and <a class="el" href="Session_8cc-source.html#l00028">Session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="74beee01234ac9ebdddd53d0fdcc0559"></a><!-- doxytag: member="dtn::Session::resubscribe_timer_" ref="74beee01234ac9ebdddd53d0fdcc0559" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::Timer* <a class="el" href="classdtn_1_1Session.html#74beee01234ac9ebdddd53d0fdcc0559">dtn::Session::resubscribe_timer_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Timer to re-send subscribe message. 
<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00089">89</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>Referenced by <a class="el" href="Session_8h-source.html#l00080">resubscribe_timer()</a>, and <a class="el" href="Session_8h-source.html#l00072">set_resubscribe_timer()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9843de45bc84eef1b92979370c51f071"></a><!-- doxytag: member="dtn::Session::sequence_id_" ref="9843de45bc84eef1b92979370c51f071" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1SequenceID.html">SequenceID</a> <a class="el" href="classdtn_1_1Session.html#9843de45bc84eef1b92979370c51f071">dtn::Session::sequence_id_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a> that covers all bundles. 
<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00088">88</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>Referenced by <a class="el" href="Session_8h-source.html#l00079">sequence_id()</a>.</p>

</div>
</div><p>
<a class="anchor" name="eaf2b2040e890ac4668c13095f6f06ad"></a><!-- doxytag: member="dtn::Session::subscribers_" ref="eaf2b2040e890ac4668c13095f6f06ad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#c04549597621019784854bfdb66463d3">SubscriberList</a> <a class="el" href="classdtn_1_1Session.html#eaf2b2040e890ac4668c13095f6f06ad">dtn::Session::subscribers_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Local + downstream subscribers. 
<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00086">86</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>Referenced by <a class="el" href="Session_8cc-source.html#l00085">add_subscriber()</a>, and <a class="el" href="Session_8h-source.html#l00077">subscribers()</a>.</p>

</div>
</div><p>
<a class="anchor" name="807018061f8e844a2e813dcb7908fbb7"></a><!-- doxytag: member="dtn::Session::upstream_" ref="807018061f8e844a2e813dcb7908fbb7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> <a class="el" href="classdtn_1_1Session.html#807018061f8e844a2e813dcb7908fbb7">dtn::Session::upstream_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classdtn_1_1Subscriber.html" title="A subscriber for a session is either a local registration or a next hop destination...">Subscriber</a> in direction of a custodian. 
<p>

<p>Definition at line <a class="el" href="Session_8h-source.html#l00085">85</a> of file <a class="el" href="Session_8h-source.html">Session.h</a>.</p>

<p>Referenced by <a class="el" href="Session_8cc-source.html#l00075">set_upstream()</a>, and <a class="el" href="Session_8h-source.html#l00076">upstream()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="Session_8h-source.html">Session.h</a><li><a class="el" href="Session_8cc-source.html">Session.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>