<!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::SerialConvergenceLayer::SerialConvergenceLayer::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 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1SerialConvergenceLayer.html">SerialConvergenceLayer</a>::<a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html">Connection</a> </div> </div> <div class="contents"> <h1>dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection Class Reference</h1><!-- doxytag: class="dtn::SerialConvergenceLayer::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 <<a class="el" href="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection:</div> <div class="dynsection"> <p><center><img src="classdtn_1_1SerialConvergenceLayer_1_1Connection.png" usemap="#dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection_map" border="0" alt=""></center> <map name="dtn::SerialConvergenceLayer::SerialConvergenceLayer::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_1SerialConvergenceLayer_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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#8d2ce59a6c3e42563f2abf3935b0e39c">Connection</a> (<a class="el" href="classdtn_1_1SerialConvergenceLayer.html">SerialConvergenceLayer</a> *cl, const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> &link, <a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1SerialLinkParams.html">SerialLinkParams</a> *params)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for a connection. <a href="#8d2ce59a6c3e42563f2abf3935b0e39c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#67fa05a4527544e69ba60f3b4b728471">~Connection</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#67fa05a4527544e69ba60f3b4b728471"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#15954497b3f6652747004b8a9edfaa0d">serialize</a> (oasys::SerializeAction *a)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual from SerializableObject. <a href="#15954497b3f6652747004b8a9edfaa0d"></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#d8a05c363c2044e2315c09451113e48b">recv_data</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Hook for handle_poll_activity to receive data. <a href="#d8a05c363c2044e2315c09451113e48b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#cf42b629fcff7125293df3d98c261303">send_sync</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Send a sync byte. <a href="#cf42b629fcff7125293df3d98c261303"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1SerialLinkParams.html">SerialLinkParams</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#47ee79660e2f6b536482a70b4261030a">serial_lparams</a> ()</td></tr> <tr><td class="mdescLeft"> </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="#47ee79660e2f6b536482a70b4261030a"></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#25724e198a60975d9eb4a9a2f3a113c7">connect</a> ()</td></tr> <tr><td class="mdescLeft"> </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="#25724e198a60975d9eb4a9a2f3a113c7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#9af77a8e2544cdf2d6c563ad830e6430">disconnect</a> ()</td></tr> <tr><td class="mdescLeft"> </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="#9af77a8e2544cdf2d6c563ad830e6430"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#68fa10dfe4cbaac461ddfe8515193a88">initialize_pollfds</a> ()</td></tr> <tr><td class="mdescLeft"> </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="#68fa10dfe4cbaac461ddfe8515193a88"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#848fe92bfc1191c8f11b1a16f3006059">handle_poll_timeout</a> ()</td></tr> <tr><td class="mdescLeft"> </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="#848fe92bfc1191c8f11b1a16f3006059"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#a780cb6afe25f98b9de942aa45b420cd">handle_poll_activity</a> ()</td></tr> <tr><td class="mdescLeft"> </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="#a780cb6afe25f98b9de942aa45b420cd"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#84124f28ba5bbbe2c78ef97ff015bebb">send_data</a> ()</td></tr> <tr><td class="mdescLeft"> </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="#84124f28ba5bbbe2c78ef97ff015bebb"></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::TTY * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#964abbef443c4eba28d19e8cf8ef929d">tty_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The tty. <a href="#964abbef443c4eba28d19e8cf8ef929d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct pollfd * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#05433db208375cb11590a39cf4b9012b">tty_pollfd_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Poll structure for the tty. <a href="#05433db208375cb11590a39cf4b9012b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#1dcd6cccd0dde6a561a7fa2e74de31f9">synced_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Whether the SYNC has completed. <a href="#1dcd6cccd0dde6a561a7fa2e74de31f9"></a><br></td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1Connection.html#b03792e30345f5c67d3eb9ea8b0b589b">SerialConvergenceLayer</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_1SerialConvergenceLayer_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="SerialConvergenceLayer_8h-source.html#l00095">95</a> of file <a class="el" href="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.h</a>.</p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="8d2ce59a6c3e42563f2abf3935b0e39c"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::Connection" ref="8d2ce59a6c3e42563f2abf3935b0e39c" args="(SerialConvergenceLayer *cl, const LinkRef &link, SerialLinkParams *params)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::Connection </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1SerialConvergenceLayer.html">SerialConvergenceLayer</a> * </td> <td class="paramname"> <em>cl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> & </td> <td class="paramname"> <em>link</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1SerialLinkParams.html">SerialLinkParams</a> * </td> <td class="paramname"> <em>params</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor for a connection. <p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00138">138</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.cc</a>.</p> <p>References <a class="el" href="CLConnection_8h-source.html#l00081">dtn::CLConnection::set_nexthop()</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00148">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::synced_</a>, and <a class="el" href="SerialConvergenceLayer_8h-source.html#l00146">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_</a>.</p> </div> </div><p> <a class="anchor" name="67fa05a4527544e69ba60f3b4b728471"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::~Connection" ref="67fa05a4527544e69ba60f3b4b728471" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::~Connection </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00158">158</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.cc</a>.</p> <p>References <a class="el" href="SerialConvergenceLayer_8h-source.html#l00146">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="25724e198a60975d9eb4a9a2f3a113c7"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::connect" ref="25724e198a60975d9eb4a9a2f3a113c7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::connect </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="SerialConvergenceLayer_8cc-source.html#l00222">222</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.cc</a>.</p> <p>References <a class="el" href="StreamConvergenceLayer_8h-source.html#l00256">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::data_rcvd_</a>, <a class="el" href="Simulator_8cc-source.html#l00269">dtnsim::gettimeofday()</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00053">dtn::SerialConvergenceLayer::SerialConvergenceLayer::SerialLinkParams::initstr_</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00256">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_sync()</a>, <a class="el" href="CLConnection_8h-source.html#l00269">dtn::CLConnection::sendbuf_</a>, and <a class="el" href="SerialConvergenceLayer_8h-source.html#l00139">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serial_lparams()</a>.</p> </div> </div><p> <a class="anchor" name="9af77a8e2544cdf2d6c563ad830e6430"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::disconnect" ref="9af77a8e2544cdf2d6c563ad830e6430" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::disconnect </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="SerialConvergenceLayer_8cc-source.html#l00247">247</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.cc</a>.</p> <p>References <a class="el" href="SerialConvergenceLayer_8h-source.html#l00146">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_</a>.</p> </div> </div><p> <a class="anchor" name="a780cb6afe25f98b9de942aa45b420cd"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::handle_poll_activity" ref="a780cb6afe25f98b9de942aa45b420cd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_activity </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="SerialConvergenceLayer_8cc-source.html#l00311">311</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.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="StreamConvergenceLayer_8cc-source.html#l00951">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::process_data()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00411">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::recv_data()</a>, <a class="el" href="CLConnection_8h-source.html#l00270">dtn::CLConnection::recvbuf_</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data()</a>, and <a class="el" href="SerialConvergenceLayer_8h-source.html#l00147">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_pollfd_</a>.</p> </div> </div><p> <a class="anchor" name="848fe92bfc1191c8f11b1a16f3006059"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::handle_poll_timeout" ref="848fe92bfc1191c8f11b1a16f3006059" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_timeout </td> <td>(</td> <td class="paramname"> </td> <td> ) </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_1StreamConvergenceLayer_1_1Connection.html#39c37dca585724b5c41a8759d9cc5741">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection</a>.</p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00276">276</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.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_8h-source.html#l00256">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::data_rcvd_</a>, <a class="el" href="Simulator_8cc-source.html#l00269">dtnsim::gettimeofday()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00256">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_sync()</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00139">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serial_lparams()</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00148">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::synced_</a>, and <a class="el" href="dtnping_8h-source.html#l00029">TIMEVAL_DIFF_MSEC</a>.</p> </div> </div><p> <a class="anchor" name="68fa10dfe4cbaac461ddfe8515193a88"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::initialize_pollfds" ref="68fa10dfe4cbaac461ddfe8515193a88" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="SerialConvergenceLayer_8cc-source.html#l00173">173</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.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="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="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="classdtn_1_1ConnectionConvergenceLayer.html#9f96d07f1c0cb39625c18d08fda84bfc">dtn::ConnectionConvergenceLayer::parse_nexthop()</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="SerialConvergenceLayer_8h-source.html#l00139">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serial_lparams()</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00056">dtn::SerialConvergenceLayer::SerialConvergenceLayer::SerialLinkParams::sync_interval_</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00146">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_</a>, and <a class="el" href="SerialConvergenceLayer_8h-source.html#l00147">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_pollfd_</a>.</p> </div> </div><p> <a class="anchor" name="d8a05c363c2044e2315c09451113e48b"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::recv_data" ref="d8a05c363c2044e2315c09451113e48b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::recv_data </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="SerialConvergenceLayer_8cc-source.html#l00411">411</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.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="StreamConvergenceLayer_8h-source.html#l00261">dtn::StreamConvergenceLayer::StreamConvergenceLayer::Connection::contact_initiated_</a>, <a class="el" href="num2sdnv_8c-source.html#l00042">hex</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00052">dtn::SerialConvergenceLayer::SerialConvergenceLayer::SerialLinkParams::hexdump_</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="CLConnection_8h-source.html#l00268">dtn::CLConnection::poll_timeout_</a>, <a class="el" href="CLConnection_8h-source.html#l00270">dtn::CLConnection::recvbuf_</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00139">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serial_lparams()</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00040">dtn::SerialConvergenceLayer::SYNC</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00148">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::synced_</a>, <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00105">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::test_read_delay_</a>, <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00109">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::test_read_limit_</a>, and <a class="el" href="SerialConvergenceLayer_8h-source.html#l00146">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_</a>.</p> <p>Referenced by <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00311">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_activity()</a>.</p> </div> </div><p> <a class="anchor" name="84124f28ba5bbbe2c78ef97ff015bebb"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::send_data" ref="84124f28ba5bbbe2c78ef97ff015bebb" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="SerialConvergenceLayer_8cc-source.html#l00360">360</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.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="SerialConvergenceLayer_8h-source.html#l00052">dtn::SerialConvergenceLayer::SerialConvergenceLayer::SerialLinkParams::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="SerialConvergenceLayer_8h-source.html#l00139">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serial_lparams()</a>, <a class="el" href="ConnectionConvergenceLayer_8h-source.html#l00110">dtn::ConnectionConvergenceLayer::ConnectionConvergenceLayer::LinkParams::test_write_limit_</a>, <a class="el" href="SerialConvergenceLayer_8h-source.html#l00146">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_</a>, and <a class="el" href="SerialConvergenceLayer_8h-source.html#l00147">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_pollfd_</a>.</p> <p>Referenced by <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00311">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_activity()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00256">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_sync()</a>.</p> </div> </div><p> <a class="anchor" name="cf42b629fcff7125293df3d98c261303"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::send_sync" ref="cf42b629fcff7125293df3d98c261303" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_sync </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Send a sync byte. <p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00256">256</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.cc</a>.</p> <p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data()</a>, <a class="el" href="CLConnection_8h-source.html#l00269">dtn::CLConnection::sendbuf_</a>, and <a class="el" href="SerialConvergenceLayer_8h-source.html#l00040">dtn::SerialConvergenceLayer::SYNC</a>.</p> <p>Referenced by <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00222">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::connect()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00276">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_timeout()</a>.</p> </div> </div><p> <a class="anchor" name="47ee79660e2f6b536482a70b4261030a"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::serial_lparams" ref="47ee79660e2f6b536482a70b4261030a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1SerialConvergenceLayer_1_1SerialLinkParams.html">SerialLinkParams</a>* dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serial_lparams </td> <td>(</td> <td class="paramname"> </td> <td> ) </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="SerialConvergenceLayer_8h-source.html#l00139">139</a> of file <a class="el" href="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.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="SerialConvergenceLayer_8cc-source.html#l00222">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::connect()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00276">dtn::SerialConvergenceLayer::SerialConvergenceLayer::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="SerialConvergenceLayer_8cc-source.html#l00411">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::recv_data()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data()</a>.</p> </div> </div><p> <a class="anchor" name="15954497b3f6652747004b8a9edfaa0d"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::serialize" ref="15954497b3f6652747004b8a9edfaa0d" args="(oasys::SerializeAction *a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::serialize </td> <td>(</td> <td class="paramtype">oasys::SerializeAction * </td> <td class="paramname"> <em>a</em> </td> <td> ) </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="SerialConvergenceLayer_8cc-source.html#l00165">165</a> of file <a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.cc</a>.</p> </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="b03792e30345f5c67d3eb9ea8b0b589b"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::SerialConvergenceLayer" ref="b03792e30345f5c67d3eb9ea8b0b589b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="classdtn_1_1SerialConvergenceLayer.html">SerialConvergenceLayer</a><code> [friend]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8h-source.html#l00115">115</a> of file <a class="el" href="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.h</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="1dcd6cccd0dde6a561a7fa2e74de31f9"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::synced_" ref="1dcd6cccd0dde6a561a7fa2e74de31f9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::synced_<code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> Whether the SYNC has completed. <p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8h-source.html#l00148">148</a> of file <a class="el" href="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.h</a>.</p> <p>Referenced by <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00138">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::Connection()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00276">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_timeout()</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="964abbef443c4eba28d19e8cf8ef929d"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::tty_" ref="964abbef443c4eba28d19e8cf8ef929d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">oasys::TTY* dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_<code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> The tty. <p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8h-source.html#l00146">146</a> of file <a class="el" href="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.h</a>.</p> <p>Referenced by <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00138">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::Connection()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00247">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::disconnect()</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>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::send_data()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00158">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::~Connection()</a>.</p> </div> </div><p> <a class="anchor" name="05433db208375cb11590a39cf4b9012b"></a><!-- doxytag: member="dtn::SerialConvergenceLayer::Connection::tty_pollfd_" ref="05433db208375cb11590a39cf4b9012b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct pollfd* dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::tty_pollfd_<code> [read, protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> Poll structure for the tty. <p> <p>Definition at line <a class="el" href="SerialConvergenceLayer_8h-source.html#l00147">147</a> of file <a class="el" href="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.h</a>.</p> <p>Referenced by <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00311">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::handle_poll_activity()</a>, <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00173">dtn::SerialConvergenceLayer::SerialConvergenceLayer::Connection::initialize_pollfds()</a>, and <a class="el" href="SerialConvergenceLayer_8cc-source.html#l00360">dtn::SerialConvergenceLayer::SerialConvergenceLayer::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="SerialConvergenceLayer_8h-source.html">SerialConvergenceLayer.h</a><li><a class="el" href="SerialConvergenceLayer_8cc-source.html">SerialConvergenceLayer.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 <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>