Sophie

Sophie

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

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::BundleTLV 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_1BundleTLV.html">BundleTLV</a>
  </div>
</div>
<div class="contents">
<h1>prophet::BundleTLV Class Reference</h1><!-- doxytag: class="prophet::BundleTLV" --><!-- doxytag: inherits="prophet::BaseTLV" --><code>#include &lt;<a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for prophet::BundleTLV:</div>
<div class="dynsection">

<p><center><img src="classprophet_1_1BundleTLV.png" usemap="#prophet::BundleTLV_map" border="0" alt=""></center>
<map name="prophet::BundleTLV_map">
<area href="classprophet_1_1BaseTLV.html" alt="prophet::BaseTLV" shape="rect" coords="74,0,213,24">
<area href="classprophet_1_1OfferTLV.html" alt="prophet::OfferTLV" shape="rect" coords="0,112,139,136">
<area href="classprophet_1_1ResponseTLV.html" alt="prophet::ResponseTLV" shape="rect" coords="149,112,288,136">
</map>
</div>

<p>
<a href="classprophet_1_1BundleTLV-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="structprophet_1_1BundleTLV_1_1BundleEntry.html">BundleEntry</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Entry p.  <a href="structprophet_1_1BundleTLV_1_1BundleEntry.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprophet_1_1BundleTLV_1_1BundleTLVHeader.html">BundleTLVHeader</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Header<br>
 p.  <a href="structprophet_1_1BundleTLV_1_1BundleTLVHeader.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">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1BundleTLV.html#1d398f4325d6d724d3e807cc9dd25a2b">bundletlv_flags_t</a> { <a class="el" href="classprophet_1_1BundleTLV.html#1d398f4325d6d724d3e807cc9dd25a2b0e2665233fe415bb8a081d2e4aea1be9">CUSTODY</a> =  1 &lt;&lt; 0, 
<a class="el" href="classprophet_1_1BundleTLV.html#1d398f4325d6d724d3e807cc9dd25a2bb1f7b9b43eb9277a9e6e42a569736a6e">ACCEPTED</a> =  1 &lt;&lt; 1, 
<a class="el" href="classprophet_1_1BundleTLV.html#1d398f4325d6d724d3e807cc9dd25a2b15802a3008fb408e9a7c395c05e12084">ACK</a> =  1 &lt;&lt; 7
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flag values for <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Entry p.  <a href="classprophet_1_1BundleTLV.html#1d398f4325d6d724d3e807cc9dd25a2b">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1BundleTLV.html#2bded4142d846bf67b7a48384e426c3a">~BundleTLV</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#2bded4142d846bf67b7a48384e426c3a"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <br class="typebreak">
<a class="el" href="structprophet_1_1BundleTLV_1_1BundleTLVHeader.html">prophet::BundleTLV::BundleTLVHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1BundleTLV.html#449a2e1d110c4af9c4f6d1b3e996a252">packed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Header<br>
 p.  <a href="#449a2e1d110c4af9c4f6d1b3e996a252"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <br class="typebreak">
<a class="el" href="structprophet_1_1BundleTLV_1_1BundleEntry.html">prophet::BundleTLV::BundleEntry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1BundleTLV.html#783839265f92f135e49857369810e75d">packed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Entry p.  <a href="#783839265f92f135e49857369810e75d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1BundleTLV.html#9f8735ed361f09d5bb05fc0975c6b191">BundleTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1BundleTLV_1_1BundleTLVHeader.html">BundleTLVHeader</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1BundleTLV.html#a7921e77cc4c5585d79932a24b8a7927">BundleEntrySize</a> = sizeof(struct <a class="el" href="structprophet_1_1BundleTLV_1_1BundleEntry.html">BundleEntry</a>)</td></tr>

<tr><td colspan="2"><br><h2>Protected 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_1BundleTLV.html#f7b6d1c613fea745f051f861660373ad">BundleTLV</a> (<a class="el" href="classprophet_1_1BaseTLV.html#37c3690d6040c870b40fa0436b67b09d">BaseTLV::prophet_tlv_t</a> type=BaseTLV::UNKNOWN_TLV, u_int8_t flags=0, u_int16_t length=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#f7b6d1c613fea745f051f861660373ad"></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_1BundleTLV.html#eeadbbb84b780c5d390a9f1e6318c850">write_bundle_entry</a> (u_int32_t cts, u_int32_t seq, u_int16_t sid, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="dtnperf-client_8c.html#160881851a33309c0106503ac4d14d96">custody</a>, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> accept, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> ack, <a class="el" href="classprophet_1_1BundleTLVEntry.html#ba508cc555c3c88394dc4659c7e0d321">BundleTLVEntry::bundle_entry_t</a> type, u_char *bp, size_t len) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serialize BundleOfferTLVEntry out to no more than len bytes of buffer; return bytes written.  <a href="#eeadbbb84b780c5d390a9f1e6318c850"></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_1BundleTLV.html#4fe36522dccc0c81046b72e54d02d05c">read_bundle_entry</a> (u_int32_t *cts, u_int32_t *seq, u_int16_t *sid, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *<a class="el" href="dtnperf-client_8c.html#160881851a33309c0106503ac4d14d96">custody</a>, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *accept, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *ack, <a class="el" href="classprophet_1_1BundleTLVEntry.html#ba508cc555c3c88394dc4659c7e0d321">BundleTLVEntry::bundle_entry_t</a> *type, const u_char *bp, size_t len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deserialize struct BundleOfferTLVEntry from transport into memory, reading no more than len bytes from buffer; return bytes read.  <a href="#4fe36522dccc0c81046b72e54d02d05c"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="BundleTLV_8h-source.html#l00028">28</a> of file <a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="1d398f4325d6d724d3e807cc9dd25a2b"></a><!-- doxytag: member="prophet::BundleTLV::bundletlv_flags_t" ref="1d398f4325d6d724d3e807cc9dd25a2b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classprophet_1_1BundleTLV.html#1d398f4325d6d724d3e807cc9dd25a2b">prophet::BundleTLV::bundletlv_flags_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flag values for <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Entry p. 
<p>
31, 4.4.5 <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="1d398f4325d6d724d3e807cc9dd25a2b0e2665233fe415bb8a081d2e4aea1be9"></a><!-- doxytag: member="CUSTODY" ref="1d398f4325d6d724d3e807cc9dd25a2b0e2665233fe415bb8a081d2e4aea1be9" args="" -->CUSTODY</em>&nbsp;</td><td>
custody offered or accepted on this bundle </td></tr>
<tr><td valign="top"><em><a class="anchor" name="1d398f4325d6d724d3e807cc9dd25a2bb1f7b9b43eb9277a9e6e42a569736a6e"></a><!-- doxytag: member="ACCEPTED" ref="1d398f4325d6d724d3e807cc9dd25a2bb1f7b9b43eb9277a9e6e42a569736a6e" args="" -->ACCEPTED</em>&nbsp;</td><td>
this bundle is accepted for relay </td></tr>
<tr><td valign="top"><em><a class="anchor" name="1d398f4325d6d724d3e807cc9dd25a2b15802a3008fb408e9a7c395c05e12084"></a><!-- doxytag: member="ACK" ref="1d398f4325d6d724d3e807cc9dd25a2b15802a3008fb408e9a7c395c05e12084" args="" -->ACK</em>&nbsp;</td><td>
Prophet ACK for this bundle. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="BundleTLV_8h-source.html#l00108">108</a> of file <a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a>.</p>

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

<p>
Destructor. 
<p>

<p>Definition at line <a class="el" href="BundleTLV_8h-source.html#l00121">121</a> of file <a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f7b6d1c613fea745f051f861660373ad"></a><!-- doxytag: member="prophet::BundleTLV::BundleTLV" ref="f7b6d1c613fea745f051f861660373ad" args="(BaseTLV::prophet_tlv_t type=BaseTLV::UNKNOWN_TLV, u_int8_t flags=0, u_int16_t length=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::BundleTLV::BundleTLV           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classprophet_1_1BaseTLV.html#37c3690d6040c870b40fa0436b67b09d">BaseTLV::prophet_tlv_t</a>&nbsp;</td>
          <td class="paramname"> <em>type</em> = <code>BaseTLV::UNKNOWN_TLV</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int8_t&nbsp;</td>
          <td class="paramname"> <em>flags</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t&nbsp;</td>
          <td class="paramname"> <em>length</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>
Protected to force access through derived classes. 
<p>Definition at line <a class="el" href="BundleTLV_8h-source.html#l00127">127</a> of file <a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="4fe36522dccc0c81046b72e54d02d05c"></a><!-- doxytag: member="prophet::BundleTLV::read_bundle_entry" ref="4fe36522dccc0c81046b72e54d02d05c" args="(u_int32_t *cts, u_int32_t *seq, u_int16_t *sid, bool *custody, bool *accept, bool *ack, BundleTLVEntry::bundle_entry_t *type, const u_char *bp, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::BundleTLV::read_bundle_entry           </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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t *&nbsp;</td>
          <td class="paramname"> <em>sid</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>custody</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>accept</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>ack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classprophet_1_1BundleTLVEntry.html#ba508cc555c3c88394dc4659c7e0d321">BundleTLVEntry::bundle_entry_t</a> *&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u_char *&nbsp;</td>
          <td class="paramname"> <em>bp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deserialize struct BundleOfferTLVEntry from transport into memory, reading no more than len bytes from buffer; return bytes read. 
<p>

<p>Definition at line <a class="el" href="BundleTLV_8cc-source.html#l00049">49</a> of file <a class="el" href="BundleTLV_8cc-source.html">BundleTLV.cc</a>.</p>

<p>References <a class="el" href="BundleTLV_8h-source.html#l00110">ACCEPTED</a>, <a class="el" href="BundleTLV_8h-source.html#l00111">ACK</a>, <a class="el" href="BundleTLV_8h-source.html#l00098">prophet::BundleTLV::BundleTLV::BundleEntry::b_flags</a>, <a class="el" href="BundleTLV_8h-source.html#l00116">BundleEntrySize</a>, <a class="el" href="BundleTLV_8h-source.html#l00100">prophet::BundleTLV::BundleTLV::BundleEntry::creation_timestamp</a>, <a class="el" href="BundleTLV_8h-source.html#l00109">CUSTODY</a>, <a class="el" href="BundleTLVEntry_8h-source.html#l00148">prophet::BundleTLVEntry::decode_flags()</a>, <a class="el" href="BundleTLV_8h-source.html#l00073">prophet::BundleTLV::BundleTLV::BundleEntry::dest_string_id</a>, <a class="el" href="BaseTLV_8h-source.html#l00106">prophet::BaseTLV::flags()</a>, and <a class="el" href="BundleTLV_8h-source.html#l00101">prophet::BundleTLV::BundleTLV::BundleEntry::seqno</a>.</p>

<p>Referenced by <a class="el" href="ResponseTLV_8cc-source.html#l00080">prophet::ResponseTLV::deserialize()</a>, and <a class="el" href="OfferTLV_8cc-source.html#l00080">prophet::OfferTLV::deserialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="eeadbbb84b780c5d390a9f1e6318c850"></a><!-- doxytag: member="prophet::BundleTLV::write_bundle_entry" ref="eeadbbb84b780c5d390a9f1e6318c850" args="(u_int32_t cts, u_int32_t seq, u_int16_t sid, bool custody, bool accept, bool ack, BundleTLVEntry::bundle_entry_t type, u_char *bp, size_t len) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::BundleTLV::write_bundle_entry           </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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int16_t&nbsp;</td>
          <td class="paramname"> <em>sid</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>custody</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>accept</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>ack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classprophet_1_1BundleTLVEntry.html#ba508cc555c3c88394dc4659c7e0d321">BundleTLVEntry::bundle_entry_t</a>&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_char *&nbsp;</td>
          <td class="paramname"> <em>bp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Serialize BundleOfferTLVEntry out to no more than len bytes of buffer; return bytes written. 
<p>

<p>Definition at line <a class="el" href="BundleTLV_8cc-source.html#l00023">23</a> of file <a class="el" href="BundleTLV_8cc-source.html">BundleTLV.cc</a>.</p>

<p>References <a class="el" href="BundleTLV_8h-source.html#l00110">ACCEPTED</a>, <a class="el" href="BundleTLV_8h-source.html#l00111">ACK</a>, <a class="el" href="BundleTLV_8h-source.html#l00098">prophet::BundleTLV::BundleTLV::BundleEntry::b_flags</a>, <a class="el" href="BundleTLV_8h-source.html#l00116">BundleEntrySize</a>, <a class="el" href="BundleTLV_8h-source.html#l00100">prophet::BundleTLV::BundleTLV::BundleEntry::creation_timestamp</a>, <a class="el" href="BundleTLV_8h-source.html#l00109">CUSTODY</a>, <a class="el" href="BundleTLV_8h-source.html#l00073">prophet::BundleTLV::BundleTLV::BundleEntry::dest_string_id</a>, <a class="el" href="BundleTLV_8h-source.html#l00101">prophet::BundleTLV::BundleTLV::BundleEntry::seqno</a>, and <a class="el" href="BundleTLVEntry_8h-source.html#l00040">prophet::BundleTLVEntry::UNDEFINED</a>.</p>

<p>Referenced by <a class="el" href="ResponseTLV_8cc-source.html#l00031">prophet::ResponseTLV::serialize()</a>, and <a class="el" href="OfferTLV_8cc-source.html#l00031">prophet::OfferTLV::serialize()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="a7921e77cc4c5585d79932a24b8a7927"></a><!-- doxytag: member="prophet::BundleTLV::BundleEntrySize" ref="a7921e77cc4c5585d79932a24b8a7927" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="classprophet_1_1BundleTLV.html#a7921e77cc4c5585d79932a24b8a7927">prophet::BundleTLV::BundleEntrySize</a> = sizeof(struct <a class="el" href="structprophet_1_1BundleTLV_1_1BundleEntry.html">BundleEntry</a>)<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="BundleTLV_8h-source.html#l00116">116</a> of file <a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ResponseTLV_8cc-source.html#l00080">prophet::ResponseTLV::deserialize()</a>, <a class="el" href="OfferTLV_8cc-source.html#l00080">prophet::OfferTLV::deserialize()</a>, <a class="el" href="BundleTLV_8cc-source.html#l00049">read_bundle_entry()</a>, <a class="el" href="ResponseTLV_8cc-source.html#l00031">prophet::ResponseTLV::serialize()</a>, <a class="el" href="OfferTLV_8cc-source.html#l00031">prophet::OfferTLV::serialize()</a>, and <a class="el" href="BundleTLV_8cc-source.html#l00023">write_bundle_entry()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9f8735ed361f09d5bb05fc0975c6b191"></a><!-- doxytag: member="prophet::BundleTLV::BundleTLVHeaderSize" ref="9f8735ed361f09d5bb05fc0975c6b191" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="classprophet_1_1BundleTLV.html#9f8735ed361f09d5bb05fc0975c6b191">prophet::BundleTLV::BundleTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1BundleTLV_1_1BundleTLVHeader.html">BundleTLVHeader</a>)<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="BundleTLV_8h-source.html#l00114">114</a> of file <a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a>.</p>

<p>Referenced by <a class="el" href="ResponseTLV_8cc-source.html#l00080">prophet::ResponseTLV::deserialize()</a>, <a class="el" href="OfferTLV_8cc-source.html#l00080">prophet::OfferTLV::deserialize()</a>, <a class="el" href="ResponseTLV_8cc-source.html#l00031">prophet::ResponseTLV::serialize()</a>, and <a class="el" href="OfferTLV_8cc-source.html#l00031">prophet::OfferTLV::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="783839265f92f135e49857369810e75d"></a><!-- doxytag: member="prophet::BundleTLV::packed" ref="783839265f92f135e49857369810e75d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structprophet_1_1BundleTLV_1_1BundleEntry.html">prophet::BundleTLV::BundleEntry</a> <a class="el" href="classprophet_1_1BundleTLV.html#449a2e1d110c4af9c4f6d1b3e996a252">prophet::BundleTLV::packed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Entry p. 
<p>
30, 4.4.5 
</div>
</div><p>
<a class="anchor" name="449a2e1d110c4af9c4f6d1b3e996a252"></a><!-- doxytag: member="prophet::BundleTLV::packed" ref="449a2e1d110c4af9c4f6d1b3e996a252" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structprophet_1_1BundleTLV_1_1BundleTLVHeader.html">prophet::BundleTLV::BundleTLVHeader</a> <a class="el" href="classprophet_1_1BundleTLV.html#449a2e1d110c4af9c4f6d1b3e996a252">prophet::BundleTLV::packed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer/Response Header<br>
 p. 
<p>
30, 4.4.5<br>
 <br>
 After the routing information has been passed, the node will ask the other node to review available bundles and determine which bundles it will accept for relay. The source relay will determine which bundles to offer based on relative delivery predictabilities as explained in Section 3.6. The <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation&#39;s Bundle representation...">Bundle</a> Offer TLV also lists the bundles that a PRoPHET acknowledgement has been issued for. Those bundles have the PRoPHET ACK flag set in their entry in the list. When a node receives a PRoPHET ACK for a bundle, it MUST remove any copies of that bundle from its buffers, but SHOULD keep an entry of the acknowledged bundle to be able to further propagate the PRoPHET ACK. <br>
<br>
 The Response message is identical to the request message with the exception that the flag indicate acceptance of the bundle. 
</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="BundleTLV_8h-source.html">BundleTLV.h</a><li><a class="el" href="BundleTLV_8cc-source.html">BundleTLV.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:06 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>