Sophie

Sophie

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

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: dtntunnel::TCPTunnel 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="namespacedtntunnel.html">dtntunnel</a>::<a class="el" href="classdtntunnel_1_1TCPTunnel.html">TCPTunnel</a>
  </div>
</div>
<div class="contents">
<h1>dtntunnel::TCPTunnel Class Reference</h1><!-- doxytag: class="dtntunnel::TCPTunnel" --><!-- doxytag: inherits="dtntunnel::IPTunnel" -->Class to manage TCP &lt;-&gt; DTN tunnels.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dtntunnel::TCPTunnel:</div>
<div class="dynsection">

<p><center><img src="classdtntunnel_1_1TCPTunnel.png" usemap="#dtntunnel::TCPTunnel_map" border="0" alt=""></center>
<map name="dtntunnel::TCPTunnel_map">
<area href="classdtntunnel_1_1IPTunnel.html" alt="dtntunnel::IPTunnel" shape="rect" coords="0,0,131,24">
</map>
</div>

<p>
<a href="classdtntunnel_1_1TCPTunnel-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Connection.html">Connection</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper class to handle an actively proxied connection.  <a href="classdtntunnel_1_1TCPTunnel_1_1Connection.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtntunnel_1_1TCPTunnel_1_1ConnKey.html">ConnKey</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper struct used as the index key into the connection table.  <a href="structdtntunnel_1_1TCPTunnel_1_1ConnKey.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Listener.html">Listener</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper class to accept incoming TCP connections.  <a href="classdtntunnel_1_1TCPTunnel_1_1Listener.html#_details">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="classdtntunnel_1_1TCPTunnel.html#8f4e4626553a95f87b10ff8dc087dd0f">TCPTunnel</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#8f4e4626553a95f87b10ff8dc087dd0f"></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="classdtntunnel_1_1TCPTunnel.html#17e855174e6624b2426e2b175dc72b13">add_listener</a> (in_addr_t listen_addr, u_int16_t listen_port, in_addr_t remote_addr, u_int16_t remote_port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new listening to from the given listening address/port to the given remote address/port.  <a href="#17e855174e6624b2426e2b175dc72b13"></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="classdtntunnel_1_1TCPTunnel.html#9edfdd42b7d3de85e4cebd37af4793ed">handle_bundle</a> (<a class="el" href="structdtn_1_1APIBundle.html">dtn::APIBundle</a> *bundle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle a newly arriving bundle.  <a href="#9edfdd42b7d3de85e4cebd37af4793ed"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; <a class="el" href="structdtntunnel_1_1TCPTunnel_1_1ConnKey.html">ConnKey</a>, <br class="typebreak">
<a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Connection.html">Connection</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#68aab7171556c6a29bdb5f369804f51f">ConnTable</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Table of connection classes indexed by the remote address/port.  <a href="#68aab7171556c6a29bdb5f369804f51f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; <a class="el" href="structdtntunnel_1_1TCPTunnel_1_1ConnKey.html">ConnKey</a>, <br class="typebreak">
<a class="el" href="namespacedtn.html#4d7a060f3b17c020672ccc15d77634d7">dtn::APIBundleVector</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#84a4aadbaa3d0e61d03ee453c6639588">NoConnBundleTable</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Table of bundles that arrive out of order before the connection is set up.  <a href="#84a4aadbaa3d0e61d03ee453c6639588"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</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="classdtntunnel_1_1TCPTunnel.html#a400a9b8c4fda2a4b72352220ab58900">next_connection_id</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the next connection id.  <a href="#a400a9b8c4fda2a4b72352220ab58900"></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="classdtntunnel_1_1TCPTunnel.html#82b6c2ff15a1cc137ec0d8df781e8c0a">new_connection</a> (<a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Connection.html">Connection</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hook called by the listener when a new connection comes in.  <a href="#82b6c2ff15a1cc137ec0d8df781e8c0a"></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="classdtntunnel_1_1TCPTunnel.html#722f77fa0b3727e267010a619ad17734">kill_connection</a> (<a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Connection.html">Connection</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hook called when a new connection dies.  <a href="#722f77fa0b3727e267010a619ad17734"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#68aab7171556c6a29bdb5f369804f51f">ConnTable</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#94b9f9bc1e134be44f6dd942d4398b60">connections_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#84a4aadbaa3d0e61d03ee453c6639588">NoConnBundleTable</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#9d330834f0141da1002e3e005f217854">no_conn_bundles_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::SpinLock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#72bf262d24541e93bd5bbf24612b9a44">lock_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock to protect the connections table.  <a href="#72bf262d24541e93bd5bbf24612b9a44"></a><br></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="classdtntunnel_1_1TCPTunnel.html#a57571781241fb2284c83e093cc557d5">next_connection_id_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increasing counter for connection identifiers.  <a href="#a57571781241fb2284c83e093cc557d5"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Class to manage TCP &lt;-&gt; DTN tunnels. 
<p>Definition at line <a class="el" href="TCPTunnel_8h-source.html#l00037">37</a> of file <a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="68aab7171556c6a29bdb5f369804f51f"></a><!-- doxytag: member="dtntunnel::TCPTunnel::ConnTable" ref="68aab7171556c6a29bdb5f369804f51f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;<a class="el" href="structdtntunnel_1_1TCPTunnel_1_1ConnKey.html">ConnKey</a>, <a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Connection.html">Connection</a>*&gt; <a class="el" href="classdtntunnel_1_1TCPTunnel.html#68aab7171556c6a29bdb5f369804f51f">dtntunnel::TCPTunnel::ConnTable</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Table of connection classes indexed by the remote address/port. 
<p>

<p>Definition at line <a class="el" href="TCPTunnel_8h-source.html#l00181">181</a> of file <a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="84a4aadbaa3d0e61d03ee453c6639588"></a><!-- doxytag: member="dtntunnel::TCPTunnel::NoConnBundleTable" ref="84a4aadbaa3d0e61d03ee453c6639588" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;<a class="el" href="structdtntunnel_1_1TCPTunnel_1_1ConnKey.html">ConnKey</a>, <a class="el" href="namespacedtn.html#4d7a060f3b17c020672ccc15d77634d7">dtn::APIBundleVector</a>*&gt; <a class="el" href="classdtntunnel_1_1TCPTunnel.html#84a4aadbaa3d0e61d03ee453c6639588">dtntunnel::TCPTunnel::NoConnBundleTable</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Table of bundles that arrive out of order before the connection is set up. 
<p>

<p>Definition at line <a class="el" href="TCPTunnel_8h-source.html#l00186">186</a> of file <a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="8f4e4626553a95f87b10ff8dc087dd0f"></a><!-- doxytag: member="dtntunnel::TCPTunnel::TCPTunnel" ref="8f4e4626553a95f87b10ff8dc087dd0f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtntunnel::TCPTunnel::TCPTunnel           </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="TCPTunnel_8cc-source.html#l00029">29</a> of file <a class="el" href="TCPTunnel_8cc-source.html">TCPTunnel.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="17e855174e6624b2426e2b175dc72b13"></a><!-- doxytag: member="dtntunnel::TCPTunnel::add_listener" ref="17e855174e6624b2426e2b175dc72b13" args="(in_addr_t listen_addr, u_int16_t listen_port, in_addr_t remote_addr, u_int16_t remote_port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtntunnel::TCPTunnel::add_listener           </td>
          <td>(</td>
          <td class="paramtype">in_addr_t&nbsp;</td>
          <td class="paramname"> <em>listen_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t&nbsp;</td>
          <td class="paramname"> <em>listen_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">in_addr_t&nbsp;</td>
          <td class="paramname"> <em>remote_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t&nbsp;</td>
          <td class="paramname"> <em>remote_port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new listening to from the given listening address/port to the given remote address/port. 
<p>

<p>Implements <a class="el" href="classdtntunnel_1_1IPTunnel.html#4c3ab39f350dcc5be2586de1540ce229">dtntunnel::IPTunnel</a>.</p>

<p>Definition at line <a class="el" href="TCPTunnel_8cc-source.html#l00037">37</a> of file <a class="el" href="TCPTunnel_8cc-source.html">TCPTunnel.cc</a>.</p>

<p>Referenced by <a class="el" href="DTNTunnel_8cc-source.html#l00206">dtntunnel::DTNTunnel::init_tunnel()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9edfdd42b7d3de85e4cebd37af4793ed"></a><!-- doxytag: member="dtntunnel::TCPTunnel::handle_bundle" ref="9edfdd42b7d3de85e4cebd37af4793ed" args="(dtn::APIBundle *bundle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtntunnel::TCPTunnel::handle_bundle           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdtn_1_1APIBundle.html">dtn::APIBundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle a newly arriving bundle. 
<p>

<p>Implements <a class="el" href="classdtntunnel_1_1IPTunnel.html#a95b7580e3f53be5acd9c68f0c631a2f">dtntunnel::IPTunnel</a>.</p>

<p>Definition at line <a class="el" href="TCPTunnel_8cc-source.html#l00114">114</a> of file <a class="el" href="TCPTunnel_8cc-source.html">TCPTunnel.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="DTNTunnel_8h-source.html#l00081">dtntunnel::DTNTunnel::DTNTunnel::BundleHeader::client_addr_</a>, <a class="el" href="DTNTunnel_8h-source.html#l00083">dtntunnel::DTNTunnel::DTNTunnel::BundleHeader::client_port_</a>, <a class="el" href="DTNTunnel_8h-source.html#l00079">dtntunnel::DTNTunnel::DTNTunnel::BundleHeader::connection_id_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00182">connections_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00190">lock_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00187">no_conn_bundles_</a>, <a class="el" href="APIBundleQueue_8h-source.html#l00032">dtn::APIBundle::payload_</a>, <a class="el" href="DTNTunnel_8h-source.html#l00082">dtntunnel::DTNTunnel::DTNTunnel::BundleHeader::remote_addr_</a>, <a class="el" href="DTNTunnel_8h-source.html#l00084">dtntunnel::DTNTunnel::DTNTunnel::BundleHeader::remote_port_</a>, <a class="el" href="DTNTunnel_8h-source.html#l00080">dtntunnel::DTNTunnel::DTNTunnel::BundleHeader::seqno_</a>, <a class="el" href="dtn__types_8h-source.html#l00260">dtn_bundle_spec_t::source</a>, <a class="el" href="APIBundleQueue_8h-source.html#l00031">dtn::APIBundle::spec_</a>, and <a class="el" href="dtn__types_8h-source.html#l00066">dtn_endpoint_id_t::uri</a>.</p>

<p>Referenced by <a class="el" href="DTNTunnel_8cc-source.html#l00342">dtntunnel::DTNTunnel::handle_bundle()</a>.</p>

</div>
</div><p>
<a class="anchor" name="722f77fa0b3727e267010a619ad17734"></a><!-- doxytag: member="dtntunnel::TCPTunnel::kill_connection" ref="722f77fa0b3727e267010a619ad17734" args="(Connection *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtntunnel::TCPTunnel::kill_connection           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Connection.html">Connection</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hook called when a new connection dies. 
<p>

<p>Definition at line <a class="el" href="TCPTunnel_8cc-source.html#l00082">82</a> of file <a class="el" href="TCPTunnel_8cc-source.html">TCPTunnel.cc</a>.</p>

<p>References <a class="el" href="TCPTunnel_8h-source.html#l00124">dtntunnel::TCPTunnel::TCPTunnel::Connection::client_addr_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00125">dtntunnel::TCPTunnel::TCPTunnel::Connection::client_port_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00128">dtntunnel::TCPTunnel::TCPTunnel::Connection::connection_id_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00182">connections_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00123">dtntunnel::TCPTunnel::TCPTunnel::Connection::dest_eid_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00190">lock_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00126">dtntunnel::TCPTunnel::TCPTunnel::Connection::remote_addr_</a>, and <a class="el" href="TCPTunnel_8h-source.html#l00127">dtntunnel::TCPTunnel::TCPTunnel::Connection::remote_port_</a>.</p>

<p>Referenced by <a class="el" href="TCPTunnel_8cc-source.html#l00289">dtntunnel::TCPTunnel::TCPTunnel::Connection::run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="82b6c2ff15a1cc137ec0d8df781e8c0a"></a><!-- doxytag: member="dtntunnel::TCPTunnel::new_connection" ref="82b6c2ff15a1cc137ec0d8df781e8c0a" args="(Connection *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtntunnel::TCPTunnel::new_connection           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtntunnel_1_1TCPTunnel_1_1Connection.html">Connection</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hook called by the listener when a new connection comes in. 
<p>

<p>Definition at line <a class="el" href="TCPTunnel_8cc-source.html#l00054">54</a> of file <a class="el" href="TCPTunnel_8cc-source.html">TCPTunnel.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="TCPTunnel_8h-source.html#l00124">dtntunnel::TCPTunnel::TCPTunnel::Connection::client_addr_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00125">dtntunnel::TCPTunnel::TCPTunnel::Connection::client_port_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00128">dtntunnel::TCPTunnel::TCPTunnel::Connection::connection_id_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00182">connections_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00123">dtntunnel::TCPTunnel::TCPTunnel::Connection::dest_eid_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00190">lock_</a>, <a class="el" href="TCPTunnel_8h-source.html#l00126">dtntunnel::TCPTunnel::TCPTunnel::Connection::remote_addr_</a>, and <a class="el" href="TCPTunnel_8h-source.html#l00127">dtntunnel::TCPTunnel::TCPTunnel::Connection::remote_port_</a>.</p>

<p>Referenced by <a class="el" href="TCPTunnel_8cc-source.html#l00215">dtntunnel::TCPTunnel::TCPTunnel::Listener::accepted()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a400a9b8c4fda2a4b72352220ab58900"></a><!-- doxytag: member="dtntunnel::TCPTunnel::next_connection_id" ref="a400a9b8c4fda2a4b72352220ab58900" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t dtntunnel::TCPTunnel::next_connection_id           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the next connection id. 
<p>

<p>Definition at line <a class="el" href="TCPTunnel_8cc-source.html#l00046">46</a> of file <a class="el" href="TCPTunnel_8cc-source.html">TCPTunnel.cc</a>.</p>

<p>References <a class="el" href="TCPTunnel_8h-source.html#l00190">lock_</a>, and <a class="el" href="TCPTunnel_8h-source.html#l00193">next_connection_id_</a>.</p>

<p>Referenced by <a class="el" href="TCPTunnel_8cc-source.html#l00215">dtntunnel::TCPTunnel::TCPTunnel::Listener::accepted()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="94b9f9bc1e134be44f6dd942d4398b60"></a><!-- doxytag: member="dtntunnel::TCPTunnel::connections_" ref="94b9f9bc1e134be44f6dd942d4398b60" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#68aab7171556c6a29bdb5f369804f51f">ConnTable</a> <a class="el" href="classdtntunnel_1_1TCPTunnel.html#94b9f9bc1e134be44f6dd942d4398b60">dtntunnel::TCPTunnel::connections_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="TCPTunnel_8h-source.html#l00182">182</a> of file <a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>.</p>

<p>Referenced by <a class="el" href="TCPTunnel_8cc-source.html#l00114">handle_bundle()</a>, <a class="el" href="TCPTunnel_8cc-source.html#l00082">kill_connection()</a>, and <a class="el" href="TCPTunnel_8cc-source.html#l00054">new_connection()</a>.</p>

</div>
</div><p>
<a class="anchor" name="72bf262d24541e93bd5bbf24612b9a44"></a><!-- doxytag: member="dtntunnel::TCPTunnel::lock_" ref="72bf262d24541e93bd5bbf24612b9a44" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::SpinLock <a class="el" href="classdtntunnel_1_1TCPTunnel.html#72bf262d24541e93bd5bbf24612b9a44">dtntunnel::TCPTunnel::lock_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Lock to protect the connections table. 
<p>

<p>Definition at line <a class="el" href="TCPTunnel_8h-source.html#l00190">190</a> of file <a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>.</p>

<p>Referenced by <a class="el" href="TCPTunnel_8cc-source.html#l00114">handle_bundle()</a>, <a class="el" href="TCPTunnel_8cc-source.html#l00082">kill_connection()</a>, <a class="el" href="TCPTunnel_8cc-source.html#l00054">new_connection()</a>, and <a class="el" href="TCPTunnel_8cc-source.html#l00046">next_connection_id()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a57571781241fb2284c83e093cc557d5"></a><!-- doxytag: member="dtntunnel::TCPTunnel::next_connection_id_" ref="a57571781241fb2284c83e093cc557d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int32_t <a class="el" href="classdtntunnel_1_1TCPTunnel.html#a57571781241fb2284c83e093cc557d5">dtntunnel::TCPTunnel::next_connection_id_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Increasing counter for connection identifiers. 
<p>

<p>Definition at line <a class="el" href="TCPTunnel_8h-source.html#l00193">193</a> of file <a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>.</p>

<p>Referenced by <a class="el" href="TCPTunnel_8cc-source.html#l00046">next_connection_id()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9d330834f0141da1002e3e005f217854"></a><!-- doxytag: member="dtntunnel::TCPTunnel::no_conn_bundles_" ref="9d330834f0141da1002e3e005f217854" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtntunnel_1_1TCPTunnel.html#84a4aadbaa3d0e61d03ee453c6639588">NoConnBundleTable</a> <a class="el" href="classdtntunnel_1_1TCPTunnel.html#9d330834f0141da1002e3e005f217854">dtntunnel::TCPTunnel::no_conn_bundles_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="TCPTunnel_8h-source.html#l00187">187</a> of file <a class="el" href="TCPTunnel_8h-source.html">TCPTunnel.h</a>.</p>

<p>Referenced by <a class="el" href="TCPTunnel_8cc-source.html#l00114">handle_bundle()</a>.</p>

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