Sophie

Sophie

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

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: prophet::AckList 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="namespaceprophet.html">prophet</a>::<a class="el" href="classprophet_1_1AckList.html">AckList</a>
  </div>
</div>
<div class="contents">
<h1>prophet::AckList Class Reference</h1><!-- doxytag: class="prophet::AckList" -->Section 3.5 (p.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="AckList_8h-source.html">AckList.h</a>&gt;</code>
<p>

<p>
<a href="classprophet_1_1AckList-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#8e5b2bef9f250a80376e4b3738751d6a">AckList</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#8e5b2bef9f250a80376e4b3738751d6a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#611be1660b91ddbba380446ebf0b5a9c">AckList</a> (const <a class="el" href="classprophet_1_1AckList.html">AckList</a> &amp;list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#611be1660b91ddbba380446ebf0b5a9c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#441ea7efa90a3f97a16dce26fc27e60b">~AckList</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#441ea7efa90a3f97a16dce26fc27e60b"></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="classprophet_1_1AckList.html#fa05576d340ed75b61a4652132410f05">insert</a> (const std::string &amp;dest_id, u_int32_t cts, u_int32_t seq=0, u_int32_t ets=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience method for inserting <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> into list; return true upon success, else false if <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> already exists.  <a href="#fa05576d340ed75b61a4652132410f05"></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="classprophet_1_1AckList.html#94243ba96f3107f48615da63a4f19642">insert</a> (const <a class="el" href="classprophet_1_1Bundle.html">Bundle</a> *b, const <a class="el" href="classprophet_1_1BundleCore.html">BundleCore</a> *core)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience method for inserting <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> into list; return true upon success, else false if <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> already exists.  <a href="#94243ba96f3107f48615da63a4f19642"></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="classprophet_1_1AckList.html#74e71d0c1d98c6ae50141d04215bfe68">insert</a> (const <a class="el" href="classprophet_1_1Ack.html">Ack</a> *ack)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a>, return true on success, else false if <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> exists.  <a href="#74e71d0c1d98c6ae50141d04215bfe68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#0d8fe683b08216b60c55b03126cad1da">clone</a> (<a class="el" href="classprophet_1_1PointerList.html">PointerList</a>&lt; <a class="el" href="classprophet_1_1Ack.html">Ack</a> &gt; &amp;list) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export list of Acks to PointerList&lt;Ack&gt;, return number of elements exported.  <a href="#0d8fe683b08216b60c55b03126cad1da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#616758f72d318b5514d26abb54984864">fetch</a> (const std::string &amp;dest_id, <a class="el" href="classprophet_1_1PointerList.html">PointerList</a>&lt; <a class="el" href="classprophet_1_1Ack.html">Ack</a> &gt; *list) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a destination ID, return the number of Acks that match (exact match only, no pattern matches).  <a href="#616758f72d318b5514d26abb54984864"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#a14d15ee8e5335cf8f5ac8a030cd21ac">expire</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit every ACK in the list, and delete those for which the expiration has passed; return the number of elements deleted.  <a href="#a14d15ee8e5335cf8f5ac8a030cd21ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#c831edb32d593355793e848f9cdcbfbe">size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of elements currently in list.  <a href="#c831edb32d593355793e848f9cdcbfbe"></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="classprophet_1_1AckList.html#217ee60142873856de9ffb877c95c3fb">is_ackd</a> (const std::string &amp;dest_id, u_int32_t cts, u_int32_t seq) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to answer the question of whether this <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> has been Ack'd.  <a href="#217ee60142873856de9ffb877c95c3fb"></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="classprophet_1_1AckList.html#5da5cea0a9c6b9791c204d708b3c9944">empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessor.  <a href="#5da5cea0a9c6b9791c204d708b3c9944"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::set&lt; <a class="el" href="classprophet_1_1Ack.html">Ack</a> *, <a class="el" href="structprophet_1_1AckComp.html">AckComp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#0610bb57af56cf0d96a831f8e613f7b5">palist</a></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="classprophet_1_1AckList.html#0610bb57af56cf0d96a831f8e613f7b5">palist</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1AckList.html#6180c0f2187b6c5fb36e44b2f2044b9f">acks_</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Section 3.5 (p. 
<p>
16) describes Prophet ACKs as needing to persist in a node's storage beyond the lifetime of the bundle they represent. ProphetAckList is that persistence (but not [yet] serializable to permanent storage). 
<p>Definition at line <a class="el" href="AckList_8h-source.html#l00045">45</a> of file <a class="el" href="AckList_8h-source.html">AckList.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="0610bb57af56cf0d96a831f8e613f7b5"></a><!-- doxytag: member="prophet::AckList::palist" ref="0610bb57af56cf0d96a831f8e613f7b5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::set&lt;<a class="el" href="classprophet_1_1Ack.html">Ack</a>*,<a class="el" href="structprophet_1_1AckComp.html">AckComp</a>&gt; <a class="el" href="classprophet_1_1AckList.html#0610bb57af56cf0d96a831f8e613f7b5">prophet::AckList::palist</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="AckList_8h-source.html#l00122">122</a> of file <a class="el" href="AckList_8h-source.html">AckList.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="8e5b2bef9f250a80376e4b3738751d6a"></a><!-- doxytag: member="prophet::AckList::AckList" ref="8e5b2bef9f250a80376e4b3738751d6a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::AckList::AckList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default constructor. 
<p>

<p>Definition at line <a class="el" href="AckList_8h-source.html#l00051">51</a> of file <a class="el" href="AckList_8h-source.html">AckList.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="611be1660b91ddbba380446ebf0b5a9c"></a><!-- doxytag: member="prophet::AckList::AckList" ref="611be1660b91ddbba380446ebf0b5a9c" args="(const AckList &amp;list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::AckList::AckList           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classprophet_1_1AckList.html">AckList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. 
<p>

<p>Definition at line <a class="el" href="AckList_8h-source.html#l00056">56</a> of file <a class="el" href="AckList_8h-source.html">AckList.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="441ea7efa90a3f97a16dce26fc27e60b"></a><!-- doxytag: member="prophet::AckList::~AckList" ref="441ea7efa90a3f97a16dce26fc27e60b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::AckList::~AckList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>

<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00024">24</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0d8fe683b08216b60c55b03126cad1da"></a><!-- doxytag: member="prophet::AckList::clone" ref="0d8fe683b08216b60c55b03126cad1da" args="(PointerList&lt; Ack &gt; &amp;list) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::AckList::clone           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classprophet_1_1PointerList.html">PointerList</a>&lt; <a class="el" href="classprophet_1_1Ack.html">Ack</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Export list of Acks to PointerList&lt;Ack&gt;, return number of elements exported. 
<p>

<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00072">72</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>, and <a class="el" href="PointerList_8h-source.html#l00085">prophet::PointerList&lt; T &gt;::clear()</a>.</p>

<p>Referenced by <a class="el" href="BundleOffer_8cc-source.html#l00064">prophet::BundleOffer::get_bundle_offer()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5da5cea0a9c6b9791c204d708b3c9944"></a><!-- doxytag: member="prophet::AckList::empty" ref="5da5cea0a9c6b9791c204d708b3c9944" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::AckList::empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessor. 
<p>

<p>Definition at line <a class="el" href="AckList_8h-source.html#l00119">119</a> of file <a class="el" href="AckList_8h-source.html">AckList.h</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>.</p>

<p>Referenced by <a class="el" href="BundleOffer_8cc-source.html#l00064">prophet::BundleOffer::get_bundle_offer()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a14d15ee8e5335cf8f5ac8a030cd21ac"></a><!-- doxytag: member="prophet::AckList::expire" ref="a14d15ee8e5335cf8f5ac8a030cd21ac" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::AckList::expire           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Visit every ACK in the list, and delete those for which the expiration has passed; return the number of elements deleted. 
<p>

<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00117">117</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>, <a class="el" href="Ack_8h-source.html#l00059">prophet::Ack::cts()</a>, and <a class="el" href="Ack_8h-source.html#l00061">prophet::Ack::ets()</a>.</p>

</div>
</div><p>
<a class="anchor" name="616758f72d318b5514d26abb54984864"></a><!-- doxytag: member="prophet::AckList::fetch" ref="616758f72d318b5514d26abb54984864" args="(const std::string &amp;dest_id, PointerList&lt; Ack &gt; *list) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::AckList::fetch           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>dest_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classprophet_1_1PointerList.html">PointerList</a>&lt; <a class="el" href="classprophet_1_1Ack.html">Ack</a> &gt; *&nbsp;</td>
          <td class="paramname"> <em>list</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given a destination ID, return the number of Acks that match (exact match only, no pattern matches). 
<p>
If list is non NULL, fill with Acks that match 
<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00090">90</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>, and <a class="el" href="PointerList_8h-source.html#l00085">prophet::PointerList&lt; T &gt;::clear()</a>.</p>

</div>
</div><p>
<a class="anchor" name="74e71d0c1d98c6ae50141d04215bfe68"></a><!-- doxytag: member="prophet::AckList::insert" ref="74e71d0c1d98c6ae50141d04215bfe68" args="(const Ack *ack)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::AckList::insert           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classprophet_1_1Ack.html">Ack</a> *&nbsp;</td>
          <td class="paramname"> <em>ack</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a>, return true on success, else false if <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> exists. 
<p>

<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00056">56</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>.</p>

</div>
</div><p>
<a class="anchor" name="94243ba96f3107f48615da63a4f19642"></a><!-- doxytag: member="prophet::AckList::insert" ref="94243ba96f3107f48615da63a4f19642" args="(const Bundle *b, const BundleCore *core)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::AckList::insert           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classprophet_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classprophet_1_1BundleCore.html">BundleCore</a> *&nbsp;</td>
          <td class="paramname"> <em>core</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convenience method for inserting <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> into list; return true upon success, else false if <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> already exists. 
<p>

<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00045">45</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>References <a class="el" href="classprophet_1_1Bundle.html#df5ff9aa8aba7ddd7a741d6143fe3d88">prophet::Bundle::creation_ts()</a>, <a class="el" href="classprophet_1_1Bundle.html#81f0a95589809a157829bacb4d3c5989">prophet::Bundle::destination_id()</a>, <a class="el" href="classprophet_1_1Bundle.html#83090d926a78f87026b328db7e5e56b5">prophet::Bundle::expiration_ts()</a>, <a class="el" href="classprophet_1_1BundleCore.html#5ee789c3c5a49bbcb0624658e7f524c6">prophet::BundleCore::get_route()</a>, <a class="el" href="AckList_8cc-source.html#l00034">insert()</a>, and <a class="el" href="classprophet_1_1Bundle.html#8f4fad2c83696237207ba7a19acb9ca4">prophet::Bundle::sequence_num()</a>.</p>

</div>
</div><p>
<a class="anchor" name="fa05576d340ed75b61a4652132410f05"></a><!-- doxytag: member="prophet::AckList::insert" ref="fa05576d340ed75b61a4652132410f05" args="(const std::string &amp;dest_id, u_int32_t cts, u_int32_t seq=0, u_int32_t ets=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::AckList::insert           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>dest_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>cts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>seq</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>ets</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convenience method for inserting <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> into list; return true upon success, else false if <a class="el" href="classprophet_1_1Ack.html" title="A Prophet ACK signals successful delivery of a Bundle to its final destination within...">Ack</a> already exists. 
<p>
Expiration time stamp is actually an offset in seconds, from creation time. Default is 0 (use offset of one day, 86400 sec) 
<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00034">34</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>Referenced by <a class="el" href="AckList_8cc-source.html#l00045">insert()</a>.</p>

</div>
</div><p>
<a class="anchor" name="217ee60142873856de9ffb877c95c3fb"></a><!-- doxytag: member="prophet::AckList::is_ackd" ref="217ee60142873856de9ffb877c95c3fb" args="(const std::string &amp;dest_id, u_int32_t cts, u_int32_t seq) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::AckList::is_ackd           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>dest_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>cts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>seq</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convenience function to answer the question of whether this <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> has been Ack'd. 
<p>

<p>Definition at line <a class="el" href="AckList_8cc-source.html#l00146">146</a> of file <a class="el" href="AckList_8cc-source.html">AckList.cc</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>.</p>

</div>
</div><p>
<a class="anchor" name="c831edb32d593355793e848f9cdcbfbe"></a><!-- doxytag: member="prophet::AckList::size" ref="c831edb32d593355793e848f9cdcbfbe" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::AckList::size           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Number of elements currently in list. 
<p>

<p>Definition at line <a class="el" href="AckList_8h-source.html#l00107">107</a> of file <a class="el" href="AckList_8h-source.html">AckList.h</a>.</p>

<p>References <a class="el" href="AckList_8h-source.html#l00123">acks_</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="6180c0f2187b6c5fb36e44b2f2044b9f"></a><!-- doxytag: member="prophet::AckList::acks_" ref="6180c0f2187b6c5fb36e44b2f2044b9f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classprophet_1_1AckList.html#0610bb57af56cf0d96a831f8e613f7b5">palist</a> <a class="el" href="classprophet_1_1AckList.html#6180c0f2187b6c5fb36e44b2f2044b9f">prophet::AckList::acks_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="AckList_8h-source.html#l00123">123</a> of file <a class="el" href="AckList_8h-source.html">AckList.h</a>.</p>

<p>Referenced by <a class="el" href="AckList_8cc-source.html#l00072">clone()</a>, <a class="el" href="AckList_8h-source.html#l00119">empty()</a>, <a class="el" href="AckList_8cc-source.html#l00117">expire()</a>, <a class="el" href="AckList_8cc-source.html#l00090">fetch()</a>, <a class="el" href="AckList_8cc-source.html#l00056">insert()</a>, <a class="el" href="AckList_8cc-source.html#l00146">is_ackd()</a>, <a class="el" href="AckList_8h-source.html#l00107">size()</a>, and <a class="el" href="AckList_8cc-source.html#l00024">~AckList()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="AckList_8h-source.html">AckList.h</a><li><a class="el" href="AckList_8cc-source.html">AckList.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:05 2009 for DTN Reference Implementation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>