Sophie

Sophie

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

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::CLConnection 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_1CLConnection.html">CLConnection</a>
  </div>
</div>
<div class="contents">
<h1>dtn::CLConnection Class Reference</h1><!-- doxytag: class="dtn::CLConnection" --><!-- doxytag: inherits="dtn::CLInfo" -->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="CLConnection_8h-source.html">CLConnection.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dtn::CLConnection:</div>
<div class="dynsection">

<p><center><img src="classdtn_1_1CLConnection.png" usemap="#dtn::CLConnection_map" border="0" alt=""></center>
<map name="dtn::CLConnection_map">
<area href="classdtn_1_1CLInfo.html" alt="dtn::CLInfo" shape="rect" coords="209,0,618,24">
<area href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html" alt="dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection" shape="rect" coords="209,112,618,136">
<area href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html" alt="dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection" shape="rect" coords="0,168,409,192">
<area href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html" alt="dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection" shape="rect" coords="419,168,828,192">
</map>
</div>

<p>
<a href="classdtn_1_1CLConnection-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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtn_1_1CLConnection_1_1CLMsg.html">CLMsg</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">struct used for messages going from the daemon thread to the connection thread.  <a href="structdtn_1_1CLConnection_1_1CLMsg.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="classdtn_1_1CLConnection_1_1IncomingBundle.html">IncomingBundle</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Struct used to record bundles that are in the process of being received along with their transmission state and relevant acknowledgement data.  <a href="classdtn_1_1CLConnection_1_1IncomingBundle.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="classdtn_1_1CLConnection_1_1InFlightBundle.html">InFlightBundle</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Struct used to record bundles that are in-flight along with their transmission state and optionally acknowledgement data.  <a href="classdtn_1_1CLConnection_1_1InFlightBundle.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
<a class="el" href="classdtn_1_1ConnectionConvergenceLayer_1_1LinkParams.html">ConnectionConvergenceLayer::LinkParams</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#62ec0d38fe9ddb805daa477d27e57fde">LinkParams</a></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_1CLConnection.html#ecdbc7977153da5766537d58c7b86640">CLConnection</a> (const char *classname, const char *logpath, <a class="el" href="classdtn_1_1ConnectionConvergenceLayer.html">ConnectionConvergenceLayer</a> *cl, <a class="el" href="classdtn_1_1ConnectionConvergenceLayer_1_1LinkParams.html">LinkParams</a> *params, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> active_connector)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#ecdbc7977153da5766537d58c7b86640"></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_1CLConnection.html#0a721370a299527ee06f7945d218d320">~CLConnection</a> ()</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_1CLConnection.html#4104e08b78e6796beff1b46d9bdd6a31">set_contact</a> (const <a class="el" href="namespacedtn.html#5f869544c85c75b5a85a14d6e90d7ff7">ContactRef</a> &amp;contact)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach to the given contact.  <a href="#4104e08b78e6796beff1b46d9bdd6a31"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected 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_1CLConnection.html#63574e52407c97761d234ee70673d668">clmsg_t</a> { <a class="el" href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d668d020e5830ec08d958341bcb5898f8ddd">CLMSG_INVALID</a> =  0, 
<a class="el" href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d6682a3cb1958e000ece0c3b1ec62b6a6a28">CLMSG_BUNDLES_QUEUED</a> =  1, 
<a class="el" href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d6687956f18d39bad128e8ec2e0b4015dd4b">CLMSG_CANCEL_BUNDLE</a> =  2, 
<a class="el" href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d6682a906c20963b066daaca910e2e6b5ffe">CLMSG_BREAK_CONTACT</a> =  3
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enum for messages from the daemon thread to the connection thread.  <a href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d668">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef oasys::SparseBitmap<br class="typebreak">
&lt; u_int32_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#522cc03792f74a0d9b432877624488f6">DataBitmap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedef for bitmaps used to record sent/received/acked data.  <a href="#522cc03792f74a0d9b432877624488f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::list<br class="typebreak">
&lt; <a class="el" href="classdtn_1_1CLConnection_1_1InFlightBundle.html">InFlightBundle</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#68eb8a5d4126dfab8698aa9712ab40fe">InFlightList</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedef for the list of in-flight bundles.  <a href="#68eb8a5d4126dfab8698aa9712ab40fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::list<br class="typebreak">
&lt; <a class="el" href="classdtn_1_1CLConnection_1_1IncomingBundle.html">IncomingBundle</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#e0bc39b170d994078b81ebcd7a7dbe74">IncomingList</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedef for the list of in-flight bundles.  <a href="#e0bc39b170d994078b81ebcd7a7dbe74"></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_1CLConnection.html#851229a5aa77ceed90311a41db937c18">run</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main run loop.  <a href="#851229a5aa77ceed90311a41db937c18"></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_1CLConnection.html#463fcafdc6fd41f67a39c78decb0ee92">set_nexthop</a> (const std::string &amp;nexthop)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment function for the nexthop identifier.  <a href="#463fcafdc6fd41f67a39c78decb0ee92"></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_1CLConnection.html#1a74612d4da690a4719bfc1b3a37ded1">connect</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initiate a connection to the remote side.  <a href="#1a74612d4da690a4719bfc1b3a37ded1"></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_1CLConnection.html#e57d6885f1053d64c54403ec6d263f6a">accept</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accept a connection from the remote side.  <a href="#e57d6885f1053d64c54403ec6d263f6a"></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_1CLConnection.html#29174c5754484629bfb63c59ffb5ad46">disconnect</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shut down the connection.  <a href="#29174c5754484629bfb63c59ffb5ad46"></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_1CLConnection.html#4eafc63965ee312f521b46d4a16e5621">initialize_pollfds</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill in the pollfds array with any file descriptors that should be waited on for activity from the peer.  <a href="#4eafc63965ee312f521b46d4a16e5621"></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_1CLConnection.html#3130269f207546f88bac4834a477accd">handle_bundles_queued</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle notification that bundle(s) may be queued on the link.  <a href="#3130269f207546f88bac4834a477accd"></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_1CLConnection.html#2aa5e13fd12c89035b952a7b4e19cb93">handle_cancel_bundle</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *b)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle a cancel bundle request.  <a href="#2aa5e13fd12c89035b952a7b4e19cb93"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#ec0e51344116123883bafeafb0db4839">send_pending_data</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start or continue transmission of bundle data or cl acks.  <a href="#ec0e51344116123883bafeafb0db4839"></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_1CLConnection.html#bd706e4a2d9c0ba04327347008a7affc">handle_poll_activity</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle network activity from the remote side.  <a href="#bd706e4a2d9c0ba04327347008a7affc"></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_1CLConnection.html#7abfc7041499dd4cd5244a59843742a2">handle_poll_timeout</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle network activity from the remote side.  <a href="#7abfc7041499dd4cd5244a59843742a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#54a30c5db61563bb1f5c05d00fe70106">clmsg_to_str</a> (<a class="el" href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d668">clmsg_t</a> type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Message to string conversion.  <a href="#54a30c5db61563bb1f5c05d00fe70106"></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_1CLConnection.html#1214075456352961d8a70f82f69be0bf">contact_up</a> ()</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_1CLConnection.html#4b0859bd97cd3e0d6d4dba4ba070c8cb">break_contact</a> (<a class="el" href="classdtn_1_1ContactEvent.html#e20f7357509a2bcca3d8e6c8daf552f7">ContactEvent::reason_t</a> reason)</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_1CLConnection.html#3980220ff1677d1e68a4738e690ef3a4">process_command</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#46186272ffc0c76aedd5e2035e8865b7">find_contact</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;peer_eid)</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="namespacedtn.html#5f869544c85c75b5a85a14d6e90d7ff7">ContactRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#29c0707d21c5347919186a8e14728ed0">contact_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ref to the <a class="el" href="classdtn_1_1Contact.html" title="Encapsulation of an active connection to a next-hop DTN contact.">Contact</a>.  <a href="#29c0707d21c5347919186a8e14728ed0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#5712e80e8d3608ae67709fd8adf53bbe">contact_up_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has contact_up been called.  <a href="#5712e80e8d3608ae67709fd8adf53bbe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::SpinLock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#be317e95c51e97c9ad52cedfbaa4b130">cmdqueue_lock_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock for command queue.  <a href="#be317e95c51e97c9ad52cedfbaa4b130"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::MsgQueue&lt; <a class="el" href="structdtn_1_1CLConnection_1_1CLMsg.html">CLMsg</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#1701c536c9f5cd3d276c4b91a38ed2cf">cmdqueue_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Daemon/CLConnection command queue.  <a href="#1701c536c9f5cd3d276c4b91a38ed2cf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1ConnectionConvergenceLayer.html">ConnectionConvergenceLayer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#99b84b09e39381998c5a918579853a30">cl_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the CL.  <a href="#99b84b09e39381998c5a918579853a30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1ConnectionConvergenceLayer_1_1LinkParams.html">LinkParams</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#e3408a135a49d68ab36fd8de5805b1fe">params_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to <a class="el" href="classdtn_1_1Link.html" title="Abstraction for a DTN link, i.e.">Link</a> parameters, or to defaults until <a class="el" href="classdtn_1_1Link.html" title="Abstraction for a DTN link, i.e.">Link</a> is bound.  <a href="#e3408a135a49d68ab36fd8de5805b1fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#cbb28c68b3122186db85d5978f97ad42">active_connector_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Should we <a class="el" href="classdtn_1_1CLConnection.html#1a74612d4da690a4719bfc1b3a37ded1" title="Initiate a connection to the remote side.">connect()</a> or <a class="el" href="classdtn_1_1CLConnection.html#e57d6885f1053d64c54403ec6d263f6a" title="Accept a connection from the remote side.">accept()</a>.  <a href="#cbb28c68b3122186db85d5978f97ad42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#04d6a5a9a07c68cd62756a5706ff58d1">nexthop_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nexthop identifier set by CL.  <a href="#04d6a5a9a07c68cd62756a5706ff58d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#9acc4a1e846c1a93ca38be02296b9ee0">num_pollfds_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of pollfds in use.  <a href="#9acc4a1e846c1a93ca38be02296b9ee0"></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_1CLConnection.html#9b530df82d1a6b8ca6717fd225c30b5b">pollfds_</a> [<a class="el" href="classdtn_1_1CLConnection.html#5f5d51481838c60607d6ec6604a8f693">MAXPOLL</a>]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array of pollfds.  <a href="#9b530df82d1a6b8ca6717fd225c30b5b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#b9b601dae1312020426d0d57daca19da">poll_timeout_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timeout to wait for poll data.  <a href="#b9b601dae1312020426d0d57daca19da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::StreamBuffer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#95f89064268605c6183fa4c436a12071">sendbuf_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer for outgoing data.  <a href="#95f89064268605c6183fa4c436a12071"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::StreamBuffer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#483ff0dd2871a812491c16aa8d3f9124">recvbuf_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer for incoming data.  <a href="#483ff0dd2871a812491c16aa8d3f9124"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1CLConnection.html#68eb8a5d4126dfab8698aa9712ab40fe">InFlightList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#bb337ec089b627c417864a01a095319e">inflight_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bundles going out the wire.  <a href="#bb337ec089b627c417864a01a095319e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1CLConnection.html#e0bc39b170d994078b81ebcd7a7dbe74">IncomingList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#d228b2004768c4ee6027823f270a816c">incoming_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bundles arriving on the wire.  <a href="#d228b2004768c4ee6027823f270a816c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">volatile <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#a61b296b02812f04b3df0c8fb09919b8">contact_broken_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classdtn_1_1Contact.html" title="Encapsulation of an active connection to a next-hop DTN contact.">Contact</a> has been broken.  <a href="#a61b296b02812f04b3df0c8fb09919b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::atomic_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#ab29444bf7f7f52430639e18ee6b452a">num_pending_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bundles pending transmission.  <a href="#ab29444bf7f7f52430639e18ee6b452a"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1CLConnection.html#5f5d51481838c60607d6ec6604a8f693">MAXPOLL</a> = 8</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of pollfds.  <a href="#5f5d51481838c60607d6ec6604a8f693"></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_1CLConnection.html#396a8cf29f208c710ef11c9d8ba712b0">ConnectionConvergenceLayer</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>Definition at line <a class="el" href="CLConnection_8h-source.html#l00038">38</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="522cc03792f74a0d9b432877624488f6"></a><!-- doxytag: member="dtn::CLConnection::DataBitmap" ref="522cc03792f74a0d9b432877624488f6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef oasys::SparseBitmap&lt;u_int32_t&gt; <a class="el" href="classdtn_1_1CLConnection.html#522cc03792f74a0d9b432877624488f6">dtn::CLConnection::DataBitmap</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedef for bitmaps used to record sent/received/acked data. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00189">189</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e0bc39b170d994078b81ebcd7a7dbe74"></a><!-- doxytag: member="dtn::CLConnection::IncomingList" ref="e0bc39b170d994078b81ebcd7a7dbe74" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="classdtn_1_1CLConnection_1_1IncomingBundle.html">IncomingBundle</a>*&gt; <a class="el" href="classdtn_1_1CLConnection.html#e0bc39b170d994078b81ebcd7a7dbe74">dtn::CLConnection::IncomingList</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedef for the list of in-flight bundles. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00253">253</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="68eb8a5d4126dfab8698aa9712ab40fe"></a><!-- doxytag: member="dtn::CLConnection::InFlightList" ref="68eb8a5d4126dfab8698aa9712ab40fe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="classdtn_1_1CLConnection_1_1InFlightBundle.html">InFlightBundle</a>*&gt; <a class="el" href="classdtn_1_1CLConnection.html#68eb8a5d4126dfab8698aa9712ab40fe">dtn::CLConnection::InFlightList</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Typedef for the list of in-flight bundles. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00223">223</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="62ec0d38fe9ddb805daa477d27e57fde"></a><!-- doxytag: member="dtn::CLConnection::LinkParams" ref="62ec0d38fe9ddb805daa477d27e57fde" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classdtn_1_1ConnectionConvergenceLayer_1_1LinkParams.html">ConnectionConvergenceLayer::LinkParams</a> <a class="el" href="classdtn_1_1ConnectionConvergenceLayer_1_1LinkParams.html">dtn::CLConnection::LinkParams</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00043">43</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="63574e52407c97761d234ee70673d668"></a><!-- doxytag: member="dtn::CLConnection::clmsg_t" ref="63574e52407c97761d234ee70673d668" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d668">dtn::CLConnection::clmsg_t</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enum for messages from the daemon thread to the connection thread. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="63574e52407c97761d234ee70673d668d020e5830ec08d958341bcb5898f8ddd"></a><!-- doxytag: member="CLMSG_INVALID" ref="63574e52407c97761d234ee70673d668d020e5830ec08d958341bcb5898f8ddd" args="" -->CLMSG_INVALID</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="63574e52407c97761d234ee70673d6682a3cb1958e000ece0c3b1ec62b6a6a28"></a><!-- doxytag: member="CLMSG_BUNDLES_QUEUED" ref="63574e52407c97761d234ee70673d6682a3cb1958e000ece0c3b1ec62b6a6a28" args="" -->CLMSG_BUNDLES_QUEUED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="63574e52407c97761d234ee70673d6687956f18d39bad128e8ec2e0b4015dd4b"></a><!-- doxytag: member="CLMSG_CANCEL_BUNDLE" ref="63574e52407c97761d234ee70673d6687956f18d39bad128e8ec2e0b4015dd4b" args="" -->CLMSG_CANCEL_BUNDLE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="63574e52407c97761d234ee70673d6682a906c20963b066daaca910e2e6b5ffe"></a><!-- doxytag: member="CLMSG_BREAK_CONTACT" ref="63574e52407c97761d234ee70673d6682a906c20963b066daaca910e2e6b5ffe" args="" -->CLMSG_BREAK_CONTACT</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00145">145</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ecdbc7977153da5766537d58c7b86640"></a><!-- doxytag: member="dtn::CLConnection::CLConnection" ref="ecdbc7977153da5766537d58c7b86640" args="(const char *classname, const char *logpath, ConnectionConvergenceLayer *cl, LinkParams *params, bool active_connector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::CLConnection::CLConnection           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>classname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>logpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdtn_1_1ConnectionConvergenceLayer.html">ConnectionConvergenceLayer</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_1ConnectionConvergenceLayer_1_1LinkParams.html">LinkParams</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>active_connector</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. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8cc-source.html#l00032">32</a> of file <a class="el" href="CLConnection_8cc-source.html">CLConnection.cc</a>.</p>

<p>References <a class="el" href="CLConnection_8h-source.html#l00261">params_</a>, <a class="el" href="CLConnection_8h-source.html#l00270">recvbuf_</a>, <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00102">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::recvbuf_len_</a>, <a class="el" href="CLConnection_8h-source.html#l00269">sendbuf_</a>, and <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00101">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::sendbuf_len_</a>.</p>

</div>
</div><p>
<a class="anchor" name="0a721370a299527ee06f7945d218d320"></a><!-- doxytag: member="dtn::CLConnection::~CLConnection" ref="0a721370a299527ee06f7945d218d320" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::CLConnection::~CLConnection           </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="CLConnection_8cc-source.html#l00055">55</a> of file <a class="el" href="CLConnection_8cc-source.html">CLConnection.cc</a>.</p>

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

<p>
Accept a connection from the remote side. 
<p>
For variants that don't implement interfaces, but require a link to be configured on both ends (e.g. serial), this will never be called, so the base class simple asserts NOTREACHED. 
<p>Reimplemented in <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#3052476d298886a961e0f26958fd8521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection</a>.</p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00096">96</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="4b0859bd97cd3e0d6d4dba4ba070c8cb"></a><!-- doxytag: member="dtn::CLConnection::break_contact" ref="4b0859bd97cd3e0d6d4dba4ba070c8cb" args="(ContactEvent::reason_t reason)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::CLConnection::break_contact           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1ContactEvent.html#e20f7357509a2bcca3d8e6c8daf552f7">ContactEvent::reason_t</a>&nbsp;</td>
          <td class="paramname"> <em>reason</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Utility functions, all virtual so subclasses could override them 
<p>Reimplemented in <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html#b06d1276d10f66d40f04da6bd824e54b">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection</a>.</p>

<p>Definition at line <a class="el" href="CLConnection_8cc-source.html#l00234">234</a> of file <a class="el" href="CLConnection_8cc-source.html">CLConnection.cc</a>.</p>

<p>References <a class="el" href="BundleEvent_8h-source.html#l00500">dtn::ContactEvent::BROKEN</a>, <a class="el" href="contacts_2Link_8h-source.html#l00205">dtn::Link::CLOSED</a>, <a class="el" href="CLConnection_8h-source.html#l00255">contact_</a>, <a class="el" href="CLConnection_8h-source.html#l00273">contact_broken_</a>, <a class="el" href="classdtn_1_1CLConnection.html#29174c5754484629bfb63c59ffb5ad46">disconnect()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l00134">dtn::BundleDaemon::post()</a>, <a class="el" href="BundleEvent_8h-source.html#l00513">dtn::ContactEvent::reason_to_str()</a>, and <a class="el" href="BundleEvent_8h-source.html#l00499">dtn::ContactEvent::USER</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00193">process_command()</a>, and <a class="el" href="CLConnection_8cc-source.html#l00061">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="54a30c5db61563bb1f5c05d00fe70106"></a><!-- doxytag: member="dtn::CLConnection::clmsg_to_str" ref="54a30c5db61563bb1f5c05d00fe70106" args="(clmsg_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* dtn::CLConnection::clmsg_to_str           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1CLConnection.html#63574e52407c97761d234ee70673d668">clmsg_t</a>&nbsp;</td>
          <td class="paramname"> <em>type</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Message to string conversion. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00155">155</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>References <a class="el" href="CLConnection_8h-source.html#l00149">CLMSG_BREAK_CONTACT</a>, <a class="el" href="CLConnection_8h-source.html#l00147">CLMSG_BUNDLES_QUEUED</a>, <a class="el" href="CLConnection_8h-source.html#l00148">CLMSG_CANCEL_BUNDLE</a>, and <a class="el" href="CLConnection_8h-source.html#l00146">CLMSG_INVALID</a>.</p>

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

<p>
Initiate a connection to the remote side. 
<p>

<p>Implemented in <a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#25724e198a60975d9eb4a9a2f3a113c7">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection</a>, and <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#1da1b3ab6486da323957e922306a3f5c">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection</a>.</p>

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

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

<p>
Utility functions, all virtual so subclasses could override them 
<p>Definition at line <a class="el" href="CLConnection_8cc-source.html#l00221">221</a> of file <a class="el" href="CLConnection_8cc-source.html">CLConnection.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="CLConnection_8h-source.html#l00255">contact_</a>, <a class="el" href="CLConnection_8h-source.html#l00256">contact_up_</a>, and <a class="el" href="BundleDaemon_8cc-source.html#l00134">dtn::BundleDaemon::post()</a>.</p>

<p>Referenced by <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00212">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_contact_initiation()</a>.</p>

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

<p>
Shut down the connection. 
<p>

<p>Implemented in <a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#9af77a8e2544cdf2d6c563ad830e6430">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection</a>, and <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#ed568f30225062e0dbd06208e5f76761">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00234">break_contact()</a>.</p>

</div>
</div><p>
<a class="anchor" name="46186272ffc0c76aedd5e2035e8865b7"></a><!-- doxytag: member="dtn::CLConnection::find_contact" ref="46186272ffc0c76aedd5e2035e8865b7" args="(const EndpointID &amp;peer_eid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::CLConnection::find_contact           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>peer_eid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Utility functions, all virtual so subclasses could override them 
<p>Definition at line <a class="el" href="CLConnection_8cc-source.html#l00261">261</a> of file <a class="el" href="CLConnection_8cc-source.html">CLConnection.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="contacts_2Link_8h-source.html#l00187">dtn::Link::AVAILABLE</a>, <a class="el" href="CLConnection_8h-source.html#l00259">cl_</a>, <a class="el" href="CLConnection_8h-source.html#l00255">contact_</a>, <a class="el" href="ContactManager_8cc-source.html#l00394">dtn::ContactManager::find_link_to()</a>, <a class="el" href="ContactManager_8h-source.html#l00111">dtn::ContactManager::lock()</a>, <a class="el" href="ContactManager_8cc-source.html#l00440">dtn::ContactManager::new_opportunistic_link()</a>, <a class="el" href="CLConnection_8h-source.html#l00264">nexthop_</a>, <a class="el" href="contacts_2Link_8h-source.html#l00141">dtn::Link::OPPORTUNISTIC</a>, <a class="el" href="CLConnection_8h-source.html#l00261">params_</a>, and <a class="el" href="contacts_2Link_8h-source.html#l00184">dtn::Link::UNAVAILABLE</a>.</p>

<p>Referenced by <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00212">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_contact_initiation()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3130269f207546f88bac4834a477accd"></a><!-- doxytag: member="dtn::CLConnection::handle_bundles_queued" ref="3130269f207546f88bac4834a477accd" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void dtn::CLConnection::handle_bundles_queued           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle notification that bundle(s) may be queued on the link. 
<p>

<p>Implemented in <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html#4efc34a816975a771ef5e9fd48dd1d50">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00193">process_command()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2aa5e13fd12c89035b952a7b4e19cb93"></a><!-- doxytag: member="dtn::CLConnection::handle_cancel_bundle" ref="2aa5e13fd12c89035b952a7b4e19cb93" args="(Bundle *b)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void dtn::CLConnection::handle_cancel_bundle           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>b</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle a cancel bundle request. 
<p>

<p>Implemented in <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html#2c11a5f0a2b7d0641db35223c3f1ee19">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00193">process_command()</a>.</p>

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

<p>
Handle network activity from the remote side. 
<p>

<p>Implemented in <a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#a780cb6afe25f98b9de942aa45b420cd">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection</a>, and <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#61654da660819e3992e4724fb04fcabf">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="7abfc7041499dd4cd5244a59843742a2"></a><!-- doxytag: member="dtn::CLConnection::handle_poll_timeout" ref="7abfc7041499dd4cd5244a59843742a2" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void dtn::CLConnection::handle_poll_timeout           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle network activity from the remote side. 
<p>

<p>Implemented in <a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#848fe92bfc1191c8f11b1a16f3006059">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection</a>, and <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html#39c37dca585724b5c41a8759d9cc5741">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection</a>.</p>

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

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

<p>
Fill in the pollfds array with any file descriptors that should be waited on for activity from the peer. 
<p>

<p>Implemented in <a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#68fa10dfe4cbaac461ddfe8515193a88">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection</a>, and <a class="el" href="classdtn_1_1TCPConvergenceLayer_1_1Connection.html#b707884ca13aefa99e14180666e83beb">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection</a>.</p>

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

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

<p>
Utility functions, all virtual so subclasses could override them 
<p>Definition at line <a class="el" href="CLConnection_8cc-source.html#l00193">193</a> of file <a class="el" href="CLConnection_8cc-source.html">CLConnection.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="CLConnection_8cc-source.html#l00234">break_contact()</a>, <a class="el" href="CLConnection_8h-source.html#l00183">dtn::CLConnection::CLConnection::CLMsg::bundle_</a>, <a class="el" href="CLConnection_8h-source.html#l00149">CLMSG_BREAK_CONTACT</a>, <a class="el" href="CLConnection_8h-source.html#l00147">CLMSG_BUNDLES_QUEUED</a>, <a class="el" href="CLConnection_8h-source.html#l00148">CLMSG_CANCEL_BUNDLE</a>, <a class="el" href="CLConnection_8h-source.html#l00258">cmdqueue_</a>, <a class="el" href="classdtn_1_1CLConnection.html#3130269f207546f88bac4834a477accd">handle_bundles_queued()</a>, <a class="el" href="classdtn_1_1CLConnection.html#2aa5e13fd12c89035b952a7b4e19cb93">handle_cancel_bundle()</a>, <a class="el" href="CLConnection_8h-source.html#l00182">dtn::CLConnection::CLConnection::CLMsg::type_</a>, and <a class="el" href="BundleEvent_8h-source.html#l00499">dtn::ContactEvent::USER</a>.</p>

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

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

<p>
Main run loop. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8cc-source.html#l00061">61</a> of file <a class="el" href="CLConnection_8cc-source.html">CLConnection.cc</a>.</p>

<p>References <a class="el" href="CLConnection_8h-source.html#l00096">accept()</a>, <a class="el" href="CLConnection_8h-source.html#l00263">active_connector_</a>, <a class="el" href="CLConnection_8cc-source.html#l00234">break_contact()</a>, <a class="el" href="BundleEvent_8h-source.html#l00500">dtn::ContactEvent::BROKEN</a>, <a class="el" href="CLConnection_8h-source.html#l00258">cmdqueue_</a>, <a class="el" href="classdtn_1_1CLConnection.html#1a74612d4da690a4719bfc1b3a37ded1">connect()</a>, <a class="el" href="CLConnection_8h-source.html#l00273">contact_broken_</a>, <a class="el" href="classdtn_1_1CLConnection.html#bd706e4a2d9c0ba04327347008a7affc">handle_poll_activity()</a>, <a class="el" href="classdtn_1_1CLConnection.html#7abfc7041499dd4cd5244a59843742a2">handle_poll_timeout()</a>, <a class="el" href="classdtn_1_1CLConnection.html#4eafc63965ee312f521b46d4a16e5621">initialize_pollfds()</a>, <a class="el" href="CLConnection_8h-source.html#l00265">num_pollfds_</a>, <a class="el" href="CLConnection_8h-source.html#l00261">params_</a>, <a class="el" href="CLConnection_8h-source.html#l00268">poll_timeout_</a>, <a class="el" href="CLConnection_8h-source.html#l00267">pollfds_</a>, <a class="el" href="CLConnection_8cc-source.html#l00193">process_command()</a>, <a class="el" href="classdtn_1_1CLConnection.html#ec0e51344116123883bafeafb0db4839">send_pending_data()</a>, and <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00106">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::test_write_delay_</a>.</p>

</div>
</div><p>
<a class="anchor" name="ec0e51344116123883bafeafb0db4839"></a><!-- doxytag: member="dtn::CLConnection::send_pending_data" ref="ec0e51344116123883bafeafb0db4839" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::CLConnection::send_pending_data           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start or continue transmission of bundle data or cl acks. 
<p>
This is called each time through the main run loop. Note that in general, this function should send one "unit" of data, i.e. a chunk of bundle data, a packet, etc.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if some data was sent, which will trigger another call, or false if the main loop should poll() on the socket before calling again. </dd></dl>

<p>Implemented in <a class="el" href="classdtn_1_1StreamConvergenceLayer_1_1Connection.html#e7bfa4ed0a7c2a98d06e6e5273ff5a1e">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="4104e08b78e6796beff1b46d9bdd6a31"></a><!-- doxytag: member="dtn::CLConnection::set_contact" ref="4104e08b78e6796beff1b46d9bdd6a31" args="(const ContactRef &amp;contact)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::CLConnection::set_contact           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacedtn.html#5f869544c85c75b5a85a14d6e90d7ff7">ContactRef</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>contact</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach to the given contact. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00062">62</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>References <a class="el" href="CLConnection_8h-source.html#l00255">contact_</a>.</p>

<p>Referenced by <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00237">dtn::ConnectionConvergenceLayer::open_contact()</a>.</p>

</div>
</div><p>
<a class="anchor" name="463fcafdc6fd41f67a39c78decb0ee92"></a><!-- doxytag: member="dtn::CLConnection::set_nexthop" ref="463fcafdc6fd41f67a39c78decb0ee92" args="(const std::string &amp;nexthop)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::CLConnection::set_nexthop           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>nexthop</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assignment function for the nexthop identifier. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00081">81</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>References <a class="el" href="CLConnection_8h-source.html#l00264">nexthop_</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00269">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::Connection()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00138">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::Connection()</a>.</p>

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

<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00042">42</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="cbb28c68b3122186db85d5978f97ad42"></a><!-- doxytag: member="dtn::CLConnection::active_connector_" ref="cbb28c68b3122186db85d5978f97ad42" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classdtn_1_1CLConnection.html#cbb28c68b3122186db85d5978f97ad42">dtn::CLConnection::active_connector_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Should we <a class="el" href="classdtn_1_1CLConnection.html#1a74612d4da690a4719bfc1b3a37ded1" title="Initiate a connection to the remote side.">connect()</a> or <a class="el" href="classdtn_1_1CLConnection.html#e57d6885f1053d64c54403ec6d263f6a" title="Accept a connection from the remote side.">accept()</a>. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00263">263</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="99b84b09e39381998c5a918579853a30"></a><!-- doxytag: member="dtn::CLConnection::cl_" ref="99b84b09e39381998c5a918579853a30" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1ConnectionConvergenceLayer.html">ConnectionConvergenceLayer</a>* <a class="el" href="classdtn_1_1CLConnection.html#99b84b09e39381998c5a918579853a30">dtn::CLConnection::cl_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pointer to the CL. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00259">259</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.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="CLConnection_8cc-source.html#l00261">find_contact()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00212">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_contact_initiation()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00173">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds()</a>, and <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00140">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::initiate_contact()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1701c536c9f5cd3d276c4b91a38ed2cf"></a><!-- doxytag: member="dtn::CLConnection::cmdqueue_" ref="1701c536c9f5cd3d276c4b91a38ed2cf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::MsgQueue&lt;<a class="el" href="structdtn_1_1CLConnection_1_1CLMsg.html">CLMsg</a>&gt; <a class="el" href="classdtn_1_1CLConnection.html#1701c536c9f5cd3d276c4b91a38ed2cf">dtn::CLConnection::cmdqueue_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Daemon/CLConnection command queue. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00258">258</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00383">dtn::ConnectionConvergenceLayer::bundle_queued()</a>, <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00414">dtn::ConnectionConvergenceLayer::cancel_bundle()</a>, <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00262">dtn::ConnectionConvergenceLayer::close_contact()</a>, <a class="el" href="CLConnection_8cc-source.html#l00193">process_command()</a>, and <a class="el" href="CLConnection_8cc-source.html#l00061">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="be317e95c51e97c9ad52cedfbaa4b130"></a><!-- doxytag: member="dtn::CLConnection::cmdqueue_lock_" ref="be317e95c51e97c9ad52cedfbaa4b130" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::SpinLock <a class="el" href="classdtn_1_1CLConnection.html#be317e95c51e97c9ad52cedfbaa4b130">dtn::CLConnection::cmdqueue_lock_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Lock for command queue. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00257">257</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="29c0707d21c5347919186a8e14728ed0"></a><!-- doxytag: member="dtn::CLConnection::contact_" ref="29c0707d21c5347919186a8e14728ed0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#5f869544c85c75b5a85a14d6e90d7ff7">ContactRef</a> <a class="el" href="classdtn_1_1CLConnection.html#29c0707d21c5347919186a8e14728ed0">dtn::CLConnection::contact_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Ref to the <a class="el" href="classdtn_1_1Contact.html" title="Encapsulation of an active connection to a next-hop DTN contact.">Contact</a>. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00255">255</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00234">break_contact()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01214">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::check_completed()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00386">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::connect()</a>, <a class="el" href="CLConnection_8cc-source.html#l00221">contact_up()</a>, <a class="el" href="CLConnection_8cc-source.html#l00261">find_contact()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01268">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_ack_segment()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00367">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_bundles_queued()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00776">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_cancel_bundle()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00212">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_contact_initiation()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00827">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_poll_timeout()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00173">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="CLConnection_8h-source.html#l00062">set_contact()</a>, and <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00533">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::start_next_bundle()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a61b296b02812f04b3df0c8fb09919b8"></a><!-- doxytag: member="dtn::CLConnection::contact_broken_" ref="a61b296b02812f04b3df0c8fb09919b8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classdtn_1_1CLConnection.html#a61b296b02812f04b3df0c8fb09919b8">dtn::CLConnection::contact_broken_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classdtn_1_1Contact.html" title="Encapsulation of an active connection to a next-hop DTN contact.">Contact</a> has been broken. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00273">273</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00234">break_contact()</a>, <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00262">dtn::ConnectionConvergenceLayer::close_contact()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00311">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_activity()</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="SerialConvergenceLayer_8cc-source.html#l00411">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::recv_data()</a>, <a class="el" href="CLConnection_8cc-source.html#l00061">run()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00642">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_data_todo()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00432">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_pending_acks()</a>, and <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00379">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_pending_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5712e80e8d3608ae67709fd8adf53bbe"></a><!-- doxytag: member="dtn::CLConnection::contact_up_" ref="5712e80e8d3608ae67709fd8adf53bbe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classdtn_1_1CLConnection.html#5712e80e8d3608ae67709fd8adf53bbe">dtn::CLConnection::contact_up_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Has contact_up been called. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00256">256</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00221">contact_up()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00212">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_contact_initiation()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00311">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00951">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::process_data()</a>, and <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00533">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::start_next_bundle()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d228b2004768c4ee6027823f270a816c"></a><!-- doxytag: member="dtn::CLConnection::incoming_" ref="d228b2004768c4ee6027823f270a816c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1CLConnection.html#e0bc39b170d994078b81ebcd7a7dbe74">IncomingList</a> <a class="el" href="classdtn_1_1CLConnection.html#d228b2004768c4ee6027823f270a816c">dtn::CLConnection::incoming_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Bundles arriving on the wire. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00272">272</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00262">dtn::ConnectionConvergenceLayer::close_contact()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01062">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_data_segment()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01160">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_data_todo()</a>, and <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00432">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_pending_acks()</a>.</p>

</div>
</div><p>
<a class="anchor" name="bb337ec089b627c417864a01a095319e"></a><!-- doxytag: member="dtn::CLConnection::inflight_" ref="bb337ec089b627c417864a01a095319e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1CLConnection.html#68eb8a5d4126dfab8698aa9712ab40fe">InFlightList</a> <a class="el" href="classdtn_1_1CLConnection.html#bb337ec089b627c417864a01a095319e">dtn::CLConnection::inflight_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Bundles going out the wire. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00271">271</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00715">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::check_completed()</a>, <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00262">dtn::ConnectionConvergenceLayer::close_contact()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01268">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_ack_segment()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00776">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_cancel_bundle()</a>, and <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00533">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::start_next_bundle()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5f5d51481838c60607d6ec6604a8f693"></a><!-- doxytag: member="dtn::CLConnection::MAXPOLL" ref="5f5d51481838c60607d6ec6604a8f693" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="classdtn_1_1CLConnection.html#5f5d51481838c60607d6ec6604a8f693">dtn::CLConnection::MAXPOLL</a> = 8<code> [static, protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of pollfds. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00266">266</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="04d6a5a9a07c68cd62756a5706ff58d1"></a><!-- doxytag: member="dtn::CLConnection::nexthop_" ref="04d6a5a9a07c68cd62756a5706ff58d1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classdtn_1_1CLConnection.html#04d6a5a9a07c68cd62756a5706ff58d1">dtn::CLConnection::nexthop_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Nexthop identifier set by CL. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00264">264</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00261">find_contact()</a>, and <a class="el" href="CLConnection_8h-source.html#l00081">set_nexthop()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ab29444bf7f7f52430639e18ee6b452a"></a><!-- doxytag: member="dtn::CLConnection::num_pending_" ref="ab29444bf7f7f52430639e18ee6b452a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::atomic_t <a class="el" href="classdtn_1_1CLConnection.html#ab29444bf7f7f52430639e18ee6b452a">dtn::CLConnection::num_pending_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Bundles pending transmission. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00274">274</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9acc4a1e846c1a93ca38be02296b9ee0"></a><!-- doxytag: member="dtn::CLConnection::num_pollfds_" ref="9acc4a1e846c1a93ca38be02296b9ee0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classdtn_1_1CLConnection.html#9acc4a1e846c1a93ca38be02296b9ee0">dtn::CLConnection::num_pollfds_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Number of pollfds in use. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00265">265</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00364">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00173">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds()</a>, and <a class="el" href="CLConnection_8cc-source.html#l00061">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e3408a135a49d68ab36fd8de5805b1fe"></a><!-- doxytag: member="dtn::CLConnection::params_" ref="e3408a135a49d68ab36fd8de5805b1fe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1ConnectionConvergenceLayer_1_1LinkParams.html">LinkParams</a>* <a class="el" href="classdtn_1_1CLConnection.html#e3408a135a49d68ab36fd8de5805b1fe">dtn::CLConnection::params_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pointer to <a class="el" href="classdtn_1_1Link.html" title="Abstraction for a DTN link, i.e.">Link</a> parameters, or to defaults until <a class="el" href="classdtn_1_1Link.html" title="Abstraction for a DTN link, i.e.">Link</a> is bound. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00261">261</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00914">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::check_keepalive()</a>, <a class="el" href="CLConnection_8cc-source.html#l00032">CLConnection()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00386">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::connect()</a>, <a class="el" href="CLConnection_8cc-source.html#l00261">find_contact()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00827">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_poll_timeout()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00364">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00173">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00572">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::recv_data()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00411">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::recv_data()</a>, <a class="el" href="CLConnection_8cc-source.html#l00061">run()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00642">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_data_todo()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00379">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_pending_data()</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00139">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serial_lparams()</a>, <a class="el" href="StreamConvergenceLayer_8h-source.html#l00245">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::stream_lparams()</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="b9b601dae1312020426d0d57daca19da"></a><!-- doxytag: member="dtn::CLConnection::poll_timeout_" ref="b9b601dae1312020426d0d57daca19da" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classdtn_1_1CLConnection.html#b9b601dae1312020426d0d57daca19da">dtn::CLConnection::poll_timeout_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Timeout to wait for poll data. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00268">268</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00212">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_contact_initiation()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00827">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_poll_timeout()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00364">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00173">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00411">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::recv_data()</a>, and <a class="el" href="CLConnection_8cc-source.html#l00061">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9b530df82d1a6b8ca6717fd225c30b5b"></a><!-- doxytag: member="dtn::CLConnection::pollfds_" ref="9b530df82d1a6b8ca6717fd225c30b5b" args="[MAXPOLL]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct pollfd <a class="el" href="classdtn_1_1CLConnection.html#9b530df82d1a6b8ca6717fd225c30b5b">dtn::CLConnection::pollfds_</a>[<a class="el" href="classdtn_1_1CLConnection.html#5f5d51481838c60607d6ec6604a8f693">MAXPOLL</a>]<code> [read, protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Array of pollfds. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00267">267</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00364">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::initialize_pollfds()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00173">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds()</a>, and <a class="el" href="CLConnection_8cc-source.html#l00061">run()</a>.</p>

</div>
</div><p>
<a class="anchor" name="483ff0dd2871a812491c16aa8d3f9124"></a><!-- doxytag: member="dtn::CLConnection::recvbuf_" ref="483ff0dd2871a812491c16aa8d3f9124" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::StreamBuffer <a class="el" href="classdtn_1_1CLConnection.html#483ff0dd2871a812491c16aa8d3f9124">dtn::CLConnection::recvbuf_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Buffer for incoming data. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00270">270</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="CLConnection_8cc-source.html#l00032">CLConnection()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01268">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_ack_segment()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00212">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_contact_initiation()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01062">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_data_segment()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01160">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_data_todo()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01351">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_keepalive()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00311">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01452">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::handle_shutdown()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00951">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::process_data()</a>, <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00190">dtn::ConnectionConvergenceLayer::reconfigure_link()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00572">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::recv_data()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00411">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::recv_data()</a>.</p>

</div>
</div><p>
<a class="anchor" name="95f89064268605c6183fa4c436a12071"></a><!-- doxytag: member="dtn::CLConnection::sendbuf_" ref="95f89064268605c6183fa4c436a12071" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::StreamBuffer <a class="el" href="classdtn_1_1CLConnection.html#95f89064268605c6183fa4c436a12071">dtn::CLConnection::sendbuf_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Buffer for outgoing data. 
<p>

<p>Definition at line <a class="el" href="CLConnection_8h-source.html#l00269">269</a> of file <a class="el" href="CLConnection_8h-source.html">CLConnection.h</a>.</p>

<p>Referenced by <a class="el" href="StreamConvergenceLayer_8cc-source.html#l01361">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::break_contact()</a>, <a class="el" href="CLConnection_8cc-source.html#l00032">CLConnection()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00222">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::connect()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00452">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00140">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::initiate_contact()</a>, <a class="el" href="ConnectionConvergenceLayer_8cc-source.html#l00190">dtn::ConnectionConvergenceLayer::reconfigure_link()</a>, <a class="el" href="TCPConvergenceLayer_8cc-source.html#l00521">dtn::TCPConvergenceLayer::TCPConvergenceLayer::Connection::send_data()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00642">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_data_todo()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00746">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_keepalive()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00579">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_next_segment()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00432">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_pending_acks()</a>, <a class="el" href="StreamConvergenceLayer_8cc-source.html#l00379">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::send_pending_data()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00256">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_sync()</a>.</p>

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