Sophie

Sophie

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

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::TCPConvergenceLayer::TCPConvergenceLayer::Connection 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_1TCPConvergenceLayer.html">TCPConvergenceLayer</a>::<a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html">Connection</a>
  </div>
</div>
<div class="contents">
<h1>dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection Class Reference</h1><!-- doxytag: class="dtn::TCPConvergenceLayer::Connection" --><!-- doxytag: inherits="dtn::StreamConvergenceLayer::Connection" -->Helper class (and thread) that manages an established connection with a peer daemon.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="TCPConvergenceLayer_8h-source.html">TCPConvergenceLayer.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection:</div>
<div class="dynsection">

<p><center><img src="classdtn_1_1TCPConvergenceLayer_1_1Connection.png" usemap="#dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection_map" border="0" alt=""></center>
<map name="dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection_map">
<area href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html" alt="dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection" shape="rect" coords="0,112,409,136">
<area href="classdtn_1_1CLConnection.html" alt="dtn::CLConnection" shape="rect" coords="0,56,409,80">
<area href="classdtn_1_1CLInfo.html" alt="dtn::CLInfo" shape="rect" coords="0,0,409,24">
</map>
</div>

<p>
<a href="classdtn_1_1TCPConvergenceLayer_1_1Connection-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="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#eeec51a4930b3a3db1e64a1c1367add3">Connection</a> (<a class="el" href="classdtn_1_1TCPConvergenceLayer.html">TCPConvergenceLayer</a> *cl, <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1TCPLinkParams.html">TCPLinkParams</a> *params)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for the active connect side of a connection.  <a href="#eeec51a4930b3a3db1e64a1c1367add3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#732977b69528e31d2227abd7fe1ba2b3">Connection</a> (<a class="el" href="classdtn_1_1TCPConvergenceLayer.html">TCPConvergenceLayer</a> *cl, <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1TCPLinkParams.html">TCPLinkParams</a> *params, int <a class="el" href="dtnperf-client_8c.html#6f8059414f0228f0256115e024eeed4b">fd</a>, in_addr_t addr, u_int16_t port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for the passive accept side of a connection.  <a href="#732977b69528e31d2227abd7fe1ba2b3"></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="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#e6f0a97c77ea81a63b2ff5cd12613846">~Connection</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#e6f0a97c77ea81a63b2ff5cd12613846"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#bc9f7ca2a00e9a8e8464f288dd94218d">serialize</a> (oasys::SerializeAction *a)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from SerializableObject.  <a href="#bc9f7ca2a00e9a8e8464f288dd94218d"></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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#ded2fb56de1e70a4dfe030e84e7b16d1">recv_data</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hook for handle_poll_activity to receive data.  <a href="#ded2fb56de1e70a4dfe030e84e7b16d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1TCPLinkParams.html">TCPLinkParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#9d64c7b8b7595e2cf0cdc16fcc2c6c9a">tcp_lparams</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility function to downcast the params_ pointer that's stored in the <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a> parent class.  <a href="#9d64c7b8b7595e2cf0cdc16fcc2c6c9a"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#1da1b3ab6486da323957e922306a3f5c">connect</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>.  <a href="#1da1b3ab6486da323957e922306a3f5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#3052476d298886a961e0f26958fd8521">accept</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>.  <a href="#3052476d298886a961e0f26958fd8521"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#ed568f30225062e0dbd06208e5f76761">disconnect</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>.  <a href="#ed568f30225062e0dbd06208e5f76761"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#b707884ca13aefa99e14180666e83beb">initialize_pollfds</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>.  <a href="#b707884ca13aefa99e14180666e83beb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#61654da660819e3992e4724fb04fcabf">handle_poll_activity</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>.  <a href="#61654da660819e3992e4724fb04fcabf"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></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_1TCPConvergenceLayer_1_1Connection.html#c46ee583f6f691b649b7f26597311382">send_data</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">virtual from <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html" title="Stream connection class.">StreamConvergenceLayer::Connection</a>  <a href="#c46ee583f6f691b649b7f26597311382"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::TCPClient *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#927cb5490d9c61f3ef52ef234854170a">sock_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The socket.  <a href="#927cb5490d9c61f3ef52ef234854170a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct pollfd *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#7f1906e3fc8b395c501cbafbd7c195c7">sock_pollfd_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Poll structure for the socket.  <a href="#7f1906e3fc8b395c501cbafbd7c195c7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#afb2b74734b984d76b7bbef80103fdb8">TCPConvergenceLayer</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Helper class (and thread) that manages an established connection with a peer daemon. 
<p>
Although the same class is used in both cases, a particular <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">Connection</a> is either a receiver or a sender, as indicated by the direction variable. Note that to deal with NAT, the side which does the active connect is not necessarily the sender. 
<p>Definition at line <a class="el" href="TCPConvergenceLayer_8h-source.html#l00118">118</a> of file <a class="el" href="TCPConvergenceLayer_8h-source.html">TCPConvergenceLayer.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="eeec51a4930b3a3db1e64a1c1367add3"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::Connection" ref="eeec51a4930b3a3db1e64a1c1367add3" args="(TCPConvergenceLayer *cl, TCPLinkParams *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::Connection           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1TCPConvergenceLayer.html">TCPConvergenceLayer</a> *&nbsp;</td>
          <td class="paramname"> <em>cl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1TCPLinkParams.html">TCPLinkParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor for the active connect side of a connection. 
<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00269">269</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="IPDiscovery_8cc.html#d65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00062">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::local_addr_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00063">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::remote_addr_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00064">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::remote_port_</a>, <a class="el" href="CLConnection_8h-source.html#l00081">dtn::CLConnection::set_nexthop()</a>, and <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>.</p>

</div>
</div><p>
<a class="anchor" name="732977b69528e31d2227abd7fe1ba2b3"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::Connection" ref="732977b69528e31d2227abd7fe1ba2b3" args="(TCPConvergenceLayer *cl, TCPLinkParams *params, int fd, in_addr_t addr, u_int16_t port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::Connection           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1TCPConvergenceLayer.html">TCPConvergenceLayer</a> *&nbsp;</td>
          <td class="paramname"> <em>cl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1TCPLinkParams.html">TCPLinkParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">in_addr_t&nbsp;</td>
          <td class="paramname"> <em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor for the passive accept side of a connection. 
<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00311">311</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="CLConnection_8h-source.html#l00081">dtn::CLConnection::set_nexthop()</a>, and <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>.</p>

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

<p>
Destructor. 
<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00332">332</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="3052476d298886a961e0f26958fd8521"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::accept" ref="3052476d298886a961e0f26958fd8521" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::accept           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>. 
<p>

<p>Reimplemented from <a class="el" href="classdtn_1_1CLConnection.html#e57d6885f1053d64c54403ec6d263f6a">dtn::CLConnection</a>.</p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00432">432</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00140">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::initiate_contact()</a>, and <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>.</p>

</div>
</div><p>
<a class="anchor" name="1da1b3ab6486da323957e922306a3f5c"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::connect" ref="1da1b3ab6486da323957e922306a3f5c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::connect           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>. 
<p>

<p>Implements <a class="el" href="classdtn_1_1CLConnection.html#1a74612d4da690a4719bfc1b3a37ded1">dtn::CLConnection</a>.</p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00386">386</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01361">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::break_contact()</a>, <a class="el" href="BundleEvent_8h-source.html#l00500">dtn::ContactEvent::BROKEN</a>, <a class="el" href="CLConnection_8h-source.html#l00259">dtn::CLConnection::cl_</a>, <a class="el" href="CLConnection_8h-source.html#l00255">dtn::CLConnection::contact_</a>, <a class="el" href="IPDiscovery_8cc.html#d65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00140">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::initiate_contact()</a>, <a class="el" href="CLConnection_8h-source.html#l00261">dtn::CLConnection::params_</a>, <a class="el" href="classdtn_1_1ConnectionConvergenceLayer.html#9f96d07f1c0cb39625c18d08fda84bfc">dtn::ConnectionConvergenceLayer::parse_nexthop()</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00063">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::remote_addr_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00064">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::remote_port_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>, and <a class="el" href="TCPConvergenceLayer_8h-source.html#l00171">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_pollfd_</a>.</p>

</div>
</div><p>
<a class="anchor" name="ed568f30225062e0dbd06208e5f76761"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::disconnect" ref="ed568f30225062e0dbd06208e5f76761" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::disconnect           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>. 
<p>

<p>Implements <a class="el" href="classdtn_1_1CLConnection.html#29174c5754484629bfb63c59ffb5ad46">dtn::CLConnection</a>.</p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00443">443</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>.</p>

</div>
</div><p>
<a class="anchor" name="61654da660819e3992e4724fb04fcabf"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::handle_poll_activity" ref="61654da660819e3992e4724fb04fcabf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>. 
<p>

<p>Implements <a class="el" href="classdtn_1_1CLConnection.html#bd706e4a2d9c0ba04327347008a7affc">dtn::CLConnection</a>.</p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">452</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01361">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::break_contact()</a>, <a class="el" href="BundleEvent_8h-source.html#l00500">dtn::ContactEvent::BROKEN</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00914">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::check_keepalive()</a>, <a class="el" href="CLConnection_8h-source.html#l00273">dtn::CLConnection::contact_broken_</a>, <a class="el" href="CLConnection_8h-source.html#l00256">dtn::CLConnection::contact_up_</a>, <a class="el" href="IPDiscovery_8cc.html#d65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00140">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::initiate_contact()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00951">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::process_data()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00572">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::recv_data()</a>, <a class="el" href="CLConnection_8h-source.html#l00270">dtn::CLConnection::recvbuf_</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data()</a>, <a class="el" href="CLConnection_8h-source.html#l00269">dtn::CLConnection::sendbuf_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>, and <a class="el" href="TCPConvergenceLayer_8h-source.html#l00171">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_pollfd_</a>.</p>

</div>
</div><p>
<a class="anchor" name="b707884ca13aefa99e14180666e83beb"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::initialize_pollfds" ref="b707884ca13aefa99e14180666e83beb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::initialize_pollfds           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a>. 
<p>

<p>Implements <a class="el" href="classdtn_1_1CLConnection.html#4eafc63965ee312f521b46d4a16e5621">dtn::CLConnection</a>.</p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00364">364</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="CLConnection_8h-source.html#l00265">dtn::CLConnection::num_pollfds_</a>, <a class="el" href="CLConnection_8h-source.html#l00261">dtn::CLConnection::params_</a>, <a class="el" href="CLConnection_8h-source.html#l00268">dtn::CLConnection::poll_timeout_</a>, <a class="el" href="CLConnection_8h-source.html#l00267">dtn::CLConnection::pollfds_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>, and <a class="el" href="TCPConvergenceLayer_8h-source.html#l00171">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_pollfd_</a>.</p>

</div>
</div><p>
<a class="anchor" name="ded2fb56de1e70a4dfe030e84e7b16d1"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::recv_data" ref="ded2fb56de1e70a4dfe030e84e7b16d1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::recv_data           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hook for handle_poll_activity to receive data. 
<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00572">572</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01361">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::break_contact()</a>, <a class="el" href="BundleEvent_8h-source.html#l00500">dtn::ContactEvent::BROKEN</a>, <a class="el" href="CLConnection_8h-source.html#l00273">dtn::CLConnection::contact_broken_</a>, <a class="el" href="num2sdnv_8c-source.html#l00042">hex</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00061">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::hexdump_</a>, <a class="el" href="CLConnection_8h-source.html#l00261">dtn::CLConnection::params_</a>, <a class="el" href="CLConnection_8h-source.html#l00270">dtn::CLConnection::recvbuf_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00163">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::tcp_lparams()</a>, <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00105">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::test_read_delay_</a>, and <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00109">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::test_read_limit_</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c46ee583f6f691b649b7f26597311382"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::send_data" ref="c46ee583f6f691b649b7f26597311382" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
virtual from <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html" title="Stream connection class.">StreamConvergenceLayer::Connection</a> 
<p>

<p>Implements <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html#bbdabd686c5d5e5a9bf30706a7ab849c">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection</a>.</p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">521</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01361">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::break_contact()</a>, <a class="el" href="BundleEvent_8h-source.html#l00500">dtn::ContactEvent::BROKEN</a>, <a class="el" href="CLConnection_8h-source.html#l00273">dtn::CLConnection::contact_broken_</a>, <a class="el" href="IPDiscovery_8cc.html#d65a8842cc674e3ddf69355898c0ecbf">errno</a>, <a class="el" href="num2sdnv_8c-source.html#l00042">hex</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00061">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::hexdump_</a>, <a class="el" href="CLConnection_8h-source.html#l00261">dtn::CLConnection::params_</a>, <a class="el" href="CLConnection_8h-source.html#l00269">dtn::CLConnection::sendbuf_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00171">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_pollfd_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00163">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::tcp_lparams()</a>, and <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00110">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::test_write_limit_</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>.</p>

</div>
</div><p>
<a class="anchor" name="bc9f7ca2a00e9a8e8464f288dd94218d"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::serialize" ref="bc9f7ca2a00e9a8e8464f288dd94218d" args="(oasys::SerializeAction *a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::serialize           </td>
          <td>(</td>
          <td class="paramtype">oasys::SerializeAction *&nbsp;</td>
          <td class="paramname"> <em>a</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from SerializableObject. 
<p>

<p>Reimplemented from <a class="el" href="classdtn_1_1CLInfo.html#5aa7a62e1a6ffd94baa3613fcc56e797">dtn::CLInfo</a>.</p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00339">339</a> of file <a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a>.</p>

<p>References <a class="el" href="TCPConvergenceLayer_8h-source.html#l00061">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::hexdump_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00062">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::local_addr_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00063">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::remote_addr_</a>, <a class="el" href="TCPConvergenceLayer_8h-source.html#l00064">dtn::TCPConvergenceLayer::TCPConvergenceLayer::TCPLinkParams::remote_port_</a>, and <a class="el" href="TCPConvergenceLayer_8h-source.html#l00163">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::tcp_lparams()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9d64c7b8b7595e2cf0cdc16fcc2c6c9a"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::tcp_lparams" ref="9d64c7b8b7595e2cf0cdc16fcc2c6c9a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1TCPLinkParams.html">TCPLinkParams</a>* dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::tcp_lparams           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Utility function to downcast the params_ pointer that's stored in the <a class="el" href="classdtn_1_1CLConnection.html" title="Helper class (and thread) that manages an established connection with a peer daemon...">CLConnection</a> parent class. 
<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8h-source.html#l00163">163</a> of file <a class="el" href="TCPConvergenceLayer_8h-source.html">TCPConvergenceLayer.h</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, and <a class="el" href="CLConnection_8h-source.html#l00261">dtn::CLConnection::params_</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00572">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::recv_data()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data()</a>, and <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00339">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::serialize()</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="afb2b74734b984d76b7bbef80103fdb8"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::TCPConvergenceLayer" ref="afb2b74734b984d76b7bbef80103fdb8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classdtn_1_1TCPConvergenceLayer.html">TCPConvergenceLayer</a><code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8h-source.html#l00142">142</a> of file <a class="el" href="TCPConvergenceLayer_8h-source.html">TCPConvergenceLayer.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="927cb5490d9c61f3ef52ef234854170a"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::sock_" ref="927cb5490d9c61f3ef52ef234854170a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::TCPClient* dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_<code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The socket. 
<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8h-source.html#l00170">170</a> of file <a class="el" href="TCPConvergenceLayer_8h-source.html">TCPConvergenceLayer.h</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00432">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::accept()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00386">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::connect()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00269">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::Connection()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00443">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::disconnect()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00364">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00572">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::recv_data()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data()</a>, and <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00332">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::~Connection()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7f1906e3fc8b395c501cbafbd7c195c7"></a><!-- doxytag: member="dtn::TCPConvergenceLayer::Connection::sock_pollfd_" ref="7f1906e3fc8b395c501cbafbd7c195c7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct pollfd* dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::sock_pollfd_<code> [read, protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Poll structure for the socket. 
<p>

<p>Definition at line <a class="el" href="TCPConvergenceLayer_8h-source.html#l00171">171</a> of file <a class="el" href="TCPConvergenceLayer_8h-source.html">TCPConvergenceLayer.h</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00386">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::connect()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00364">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::initialize_pollfds()</a>, and <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="TCPConvergenceLayer_8h-source.html">TCPConvergenceLayer.h</a><li><a class="el" href="TCPConvergenceLayer_8cc-source.html">TCPConvergenceLayer.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:04 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>