Sophie

Sophie

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

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

<p><center><img src="classprophet_1_1RIBDTLV.png" usemap="#prophet::RIBDTLV_map" border="0" alt=""></center>
<map name="prophet::RIBDTLV_map">
<area href="classprophet_1_1BaseTLV.html" alt="prophet::BaseTLV" shape="rect" coords="0,0,112,24">
</map>
</div>

<p>
<a href="classprophet_1_1RIBDTLV-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_1RIBDTLV_1_1RIBDTLVHeader.html">RIBDTLVHeader</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Information Base <a class="el" href="classprophet_1_1Dictionary.html" title="Utility class to facilitate converting to and from routing string (endpoint ID) and...">Dictionary</a> TLV<br>
 p.  <a href="structprophet_1_1RIBDTLV_1_1RIBDTLVHeader.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_1RIBDTLV_1_1RoutingAddressString.html">RoutingAddressString</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Address String (entry in RIBD above) p.  <a href="structprophet_1_1RIBDTLV_1_1RoutingAddressString.html#_details">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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBDTLV.html#e25bbe32fd51babaeea0dcb6dde4155c">RIBDTLV</a> (const <a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> &amp;ribd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#e25bbe32fd51babaeea0dcb6dde4155c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBDTLV.html#df4593224fd3598f2aecb8272fbb1258">~RIBDTLV</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#df4593224fd3598f2aecb8272fbb1258"></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_1RIBDTLV.html#9b26b15fa1b5286d40b7eba91a8d39e6">serialize</a> (u_char *bp, size_t len) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classprophet_1_1BaseTLV.html" title="The Prophet I-D (March 2006) dictates five bytecodes for router state exchange messages...">BaseTLV</a>.  <a href="#9b26b15fa1b5286d40b7eba91a8d39e6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBDTLV.html#f61522c27a15c1321df154b44392459b">ribd</a> (const std::string &amp;sender, const std::string &amp;receiver)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessor.  <a href="#f61522c27a15c1321df154b44392459b"></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_1RIBDTLV_1_1RIBDTLVHeader.html">prophet::RIBDTLV::RIBDTLVHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBDTLV.html#141040c9f8d80842585f85778473172f">packed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Information Base <a class="el" href="classprophet_1_1Dictionary.html" title="Utility class to facilitate converting to and from routing string (endpoint ID) and...">Dictionary</a> TLV<br>
 p.  <a href="#141040c9f8d80842585f85778473172f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <br class="typebreak">
<a class="el" href="structprophet_1_1RIBDTLV_1_1RoutingAddressString.html">prophet::RIBDTLV::RoutingAddressString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBDTLV.html#973da09eebd089d817ce2c799178430f">packed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Address String (entry in RIBD above) p.  <a href="#973da09eebd089d817ce2c799178430f"></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_1RIBDTLV.html#0462e2f66d58cf097d5d759e9d3d2e27">RIBDTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1RIBDTLV_1_1RIBDTLVHeader.html">RIBDTLVHeader</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_1RIBDTLV.html#557314304a9645a753d24f5580dbd61c">RoutingAddressStringSize</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_1RIBDTLV.html#21d749e043b5c6ee6787418475ccd740">RIBDTLV</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#21d749e043b5c6ee6787418475ccd740"></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_1RIBDTLV.html#cb9d5d3a603d208a7c4d880e4b8cb7a7">write_ras_entry</a> (u_int16_t sid, const std::string &amp;dest_id, u_char *bp, size_t len) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serialize destination ID out to buffer bp, size len, using struct <a class="el" href="structprophet_1_1RIBDTLV_1_1RoutingAddressString.html" title="Routing Address String (entry in RIBD above) p.">RoutingAddressString</a>; return total bytes written.  <a href="#cb9d5d3a603d208a7c4d880e4b8cb7a7"></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_1RIBDTLV.html#9d4063bccf8158d2b46d84689bc5739d">read_ras_entry</a> (u_int16_t *sid, std::string &amp;dest_id, const u_char *bp, size_t len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deserialize <a class="el" href="structprophet_1_1RIBDTLV_1_1RoutingAddressString.html" title="Routing Address String (entry in RIBD above) p.">RoutingAddressString</a> struct from transport into memory, setting *sid and dest_id; return total bytes read.  <a href="#9d4063bccf8158d2b46d84689bc5739d"></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_1RIBDTLV.html#e5e6e89ef24b6bfa3c5d0ee0c97f3f55">deserialize</a> (const u_char *bp, size_t len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual from <a class="el" href="classprophet_1_1BaseTLV.html" title="The Prophet I-D (March 2006) dictates five bytecodes for router state exchange messages...">BaseTLV</a>.  <a href="#e5e6e89ef24b6bfa3c5d0ee0c97f3f55"></a><br></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_1Dictionary.html">Dictionary</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBDTLV.html#5aab54c6e1a12bb1846b2a3f299d1ff6">ribd_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mapping from destination id string to numeric id (sid)  <a href="#5aab54c6e1a12bb1846b2a3f299d1ff6"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBDTLV.html#3e792ea418b7f8f0a460fb5ab3ab1607">TLVFactory&lt; RIBDTLV &gt;</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="RIBDTLV_8h-source.html#l00026">26</a> of file <a class="el" href="RIBDTLV_8h-source.html">RIBDTLV.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e25bbe32fd51babaeea0dcb6dde4155c"></a><!-- doxytag: member="prophet::RIBDTLV::RIBDTLV" ref="e25bbe32fd51babaeea0dcb6dde4155c" args="(const Dictionary &amp;ribd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::RIBDTLV::RIBDTLV           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ribd</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>

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

<p>References <a class="el" href="prophet_2Dictionary_8cc-source.html#l00143">prophet::Dictionary::guess_ribd_size()</a>, <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="RIBDTLV_8h-source.html#l00122">ribd_</a>, <a class="el" href="RIBDTLV_8h-source.html#l00069">RIBDTLVHeaderSize</a>, and <a class="el" href="RIBDTLV_8h-source.html#l00071">RoutingAddressStringSize</a>.</p>

</div>
</div><p>
<a class="anchor" name="df4593224fd3598f2aecb8272fbb1258"></a><!-- doxytag: member="prophet::RIBDTLV::~RIBDTLV" ref="df4593224fd3598f2aecb8272fbb1258" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual prophet::RIBDTLV::~RIBDTLV           </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="RIBDTLV_8h-source.html#l00082">82</a> of file <a class="el" href="RIBDTLV_8h-source.html">RIBDTLV.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="21d749e043b5c6ee6787418475ccd740"></a><!-- doxytag: member="prophet::RIBDTLV::RIBDTLV" ref="21d749e043b5c6ee6787418475ccd740" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::RIBDTLV::RIBDTLV           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>
Protected to force access through <a class="el" href="structprophet_1_1TLVFactory.html">TLVFactory</a>. 
<p>Definition at line <a class="el" href="RIBDTLV_8cc-source.html#l00031">31</a> of file <a class="el" href="RIBDTLV_8cc-source.html">RIBDTLV.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e5e6e89ef24b6bfa3c5d0ee0c97f3f55"></a><!-- doxytag: member="prophet::RIBDTLV::deserialize" ref="e5e6e89ef24b6bfa3c5d0ee0c97f3f55" args="(const u_char *bp, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::RIBDTLV::deserialize           </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, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classprophet_1_1BaseTLV.html" title="The Prophet I-D (March 2006) dictates five bytecodes for router state exchange messages...">BaseTLV</a>. 
<p>

<p>Implements <a class="el" href="classprophet_1_1BaseTLV.html#39a29c35a775a408b165921f61beec2d">prophet::BaseTLV</a>.</p>

<p>Definition at line <a class="el" href="RIBDTLV_8cc-source.html#l00147">147</a> of file <a class="el" href="RIBDTLV_8cc-source.html">RIBDTLV.cc</a>.</p>

<p>References <a class="el" href="prophet_2Dictionary_8cc-source.html#l00096">prophet::Dictionary::assign()</a>, <a class="el" href="prophet_2Dictionary_8cc-source.html#l00154">prophet::Dictionary::clear()</a>, <a class="el" href="RIBDTLV_8h-source.html#l00047">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::entry_count</a>, <a class="el" href="RIBDTLV_8h-source.html#l00041">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::flags</a>, <a class="el" href="BaseTLV_8h-source.html#l00126">prophet::BaseTLV::flags_</a>, <a class="el" href="RIBDTLV_8h-source.html#l00046">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::length</a>, <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="RIBDTLV_8cc-source.html#l00115">read_ras_entry()</a>, <a class="el" href="RIBDTLV_8h-source.html#l00122">ribd_</a>, <a class="el" href="BaseTLV_8h-source.html#l00068">prophet::BaseTLV::RIBD_TLV</a>, <a class="el" href="RIBDTLV_8h-source.html#l00069">RIBDTLVHeaderSize</a>, and <a class="el" href="RIBDTLV_8h-source.html#l00040">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::type</a>.</p>

</div>
</div><p>
<a class="anchor" name="9d4063bccf8158d2b46d84689bc5739d"></a><!-- doxytag: member="prophet::RIBDTLV::read_ras_entry" ref="9d4063bccf8158d2b46d84689bc5739d" args="(u_int16_t *sid, std::string &amp;dest_id, const u_char *bp, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::RIBDTLV::read_ras_entry           </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">std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>dest_id</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 <a class="el" href="structprophet_1_1RIBDTLV_1_1RoutingAddressString.html" title="Routing Address String (entry in RIBD above) p.">RoutingAddressString</a> struct from transport into memory, setting *sid and dest_id; return total bytes read. 
<p>

<p>Definition at line <a class="el" href="RIBDTLV_8cc-source.html#l00115">115</a> of file <a class="el" href="RIBDTLV_8cc-source.html">RIBDTLV.cc</a>.</p>

<p>References <a class="el" href="Announce_8h-source.html#l00027">FOUR_BYTE_ALIGN</a>, <a class="el" href="RIBDTLV_8h-source.html#l00064">prophet::RIBDTLV::RIBDTLV::RoutingAddressString::length</a>, <a class="el" href="RIBDTLV_8h-source.html#l00066">prophet::RIBDTLV::RIBDTLV::RoutingAddressString::ra_string</a>, <a class="el" href="RIBDTLV_8h-source.html#l00071">RoutingAddressStringSize</a>, and <a class="el" href="RIBDTLV_8h-source.html#l00063">prophet::RIBDTLV::RIBDTLV::RoutingAddressString::string_id</a>.</p>

<p>Referenced by <a class="el" href="RIBDTLV_8cc-source.html#l00147">deserialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f61522c27a15c1321df154b44392459b"></a><!-- doxytag: member="prophet::RIBDTLV::ribd" ref="f61522c27a15c1321df154b44392459b" args="(const std::string &amp;sender, const std::string &amp;receiver)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> &amp; prophet::RIBDTLV::ribd           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>sender</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>receiver</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessor. 
<p>

<p>Definition at line <a class="el" href="RIBDTLV_8cc-source.html#l00197">197</a> of file <a class="el" href="RIBDTLV_8cc-source.html">RIBDTLV.cc</a>.</p>

<p>References <a class="el" href="prophet_2Dictionary_8cc-source.html#l00096">prophet::Dictionary::assign()</a>, and <a class="el" href="RIBDTLV_8h-source.html#l00122">ribd_</a>.</p>

</div>
</div><p>
<a class="anchor" name="9b26b15fa1b5286d40b7eba91a8d39e6"></a><!-- doxytag: member="prophet::RIBDTLV::serialize" ref="9b26b15fa1b5286d40b7eba91a8d39e6" args="(u_char *bp, size_t len) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::RIBDTLV::serialize           </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> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual from <a class="el" href="classprophet_1_1BaseTLV.html" title="The Prophet I-D (March 2006) dictates five bytecodes for router state exchange messages...">BaseTLV</a>. 
<p>

<p>Implements <a class="el" href="classprophet_1_1BaseTLV.html#18534e5841ee8447ca2c51cf299becd0">prophet::BaseTLV</a>.</p>

<p>Definition at line <a class="el" href="RIBDTLV_8cc-source.html#l00066">66</a> of file <a class="el" href="RIBDTLV_8cc-source.html">RIBDTLV.cc</a>.</p>

<p>References <a class="el" href="prophet_2Dictionary_8h-source.html#l00105">prophet::Dictionary::begin()</a>, <a class="el" href="prophet_2Dictionary_8h-source.html#l00106">prophet::Dictionary::end()</a>, <a class="el" href="RIBDTLV_8h-source.html#l00047">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::entry_count</a>, <a class="el" href="RIBDTLV_8h-source.html#l00041">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::flags</a>, <a class="el" href="prophet_2Dictionary_8cc-source.html#l00143">prophet::Dictionary::guess_ribd_size()</a>, <a class="el" href="RIBDTLV_8h-source.html#l00046">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::length</a>, <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="RIBDTLV_8h-source.html#l00122">ribd_</a>, <a class="el" href="BaseTLV_8h-source.html#l00068">prophet::BaseTLV::RIBD_TLV</a>, <a class="el" href="RIBDTLV_8h-source.html#l00069">RIBDTLVHeaderSize</a>, <a class="el" href="RIBDTLV_8h-source.html#l00071">RoutingAddressStringSize</a>, <a class="el" href="RIBDTLV_8h-source.html#l00040">prophet::RIBDTLV::RIBDTLV::RIBDTLVHeader::type</a>, <a class="el" href="BaseTLV_8h-source.html#l00125">prophet::BaseTLV::typecode_</a>, and <a class="el" href="RIBDTLV_8cc-source.html#l00035">write_ras_entry()</a>.</p>

</div>
</div><p>
<a class="anchor" name="cb9d5d3a603d208a7c4d880e4b8cb7a7"></a><!-- doxytag: member="prophet::RIBDTLV::write_ras_entry" ref="cb9d5d3a603d208a7c4d880e4b8cb7a7" args="(u_int16_t sid, const std::string &amp;dest_id, u_char *bp, size_t len) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::RIBDTLV::write_ras_entry           </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">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_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 destination ID out to buffer bp, size len, using struct <a class="el" href="structprophet_1_1RIBDTLV_1_1RoutingAddressString.html" title="Routing Address String (entry in RIBD above) p.">RoutingAddressString</a>; return total bytes written. 
<p>

<p>Definition at line <a class="el" href="RIBDTLV_8cc-source.html#l00035">35</a> of file <a class="el" href="RIBDTLV_8cc-source.html">RIBDTLV.cc</a>.</p>

<p>References <a class="el" href="Announce_8h-source.html#l00027">FOUR_BYTE_ALIGN</a>, <a class="el" href="RIBDTLV_8h-source.html#l00064">prophet::RIBDTLV::RIBDTLV::RoutingAddressString::length</a>, <a class="el" href="RIBDTLV_8h-source.html#l00066">prophet::RIBDTLV::RIBDTLV::RoutingAddressString::ra_string</a>, <a class="el" href="RIBDTLV_8h-source.html#l00071">RoutingAddressStringSize</a>, and <a class="el" href="RIBDTLV_8h-source.html#l00063">prophet::RIBDTLV::RIBDTLV::RoutingAddressString::string_id</a>.</p>

<p>Referenced by <a class="el" href="RIBDTLV_8cc-source.html#l00066">serialize()</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="3e792ea418b7f8f0a460fb5ab3ab1607"></a><!-- doxytag: member="prophet::RIBDTLV::TLVFactory&lt; RIBDTLV &gt;" ref="3e792ea418b7f8f0a460fb5ab3ab1607" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="structprophet_1_1TLVFactory.html">TLVFactory</a>&lt; <a class="el" href="classprophet_1_1RIBDTLV.html">RIBDTLV</a> &gt;<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

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

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="973da09eebd089d817ce2c799178430f"></a><!-- doxytag: member="prophet::RIBDTLV::packed" ref="973da09eebd089d817ce2c799178430f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structprophet_1_1RIBDTLV_1_1RoutingAddressString.html">prophet::RIBDTLV::RoutingAddressString</a> <a class="el" href="classprophet_1_1RIBDTLV.html#141040c9f8d80842585f85778473172f">prophet::RIBDTLV::packed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Routing Address String (entry in RIBD above) p. 
<p>
27, 4.4.3 
</div>
</div><p>
<a class="anchor" name="141040c9f8d80842585f85778473172f"></a><!-- doxytag: member="prophet::RIBDTLV::packed" ref="141040c9f8d80842585f85778473172f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structprophet_1_1RIBDTLV_1_1RIBDTLVHeader.html">prophet::RIBDTLV::RIBDTLVHeader</a> <a class="el" href="classprophet_1_1RIBDTLV.html#141040c9f8d80842585f85778473172f">prophet::RIBDTLV::packed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Routing Information Base <a class="el" href="classprophet_1_1Dictionary.html" title="Utility class to facilitate converting to and from routing string (endpoint ID) and...">Dictionary</a> TLV<br>
 p. 
<p>
27, 4.4.3<br>
 <br>
 The Routing Information Base <a class="el" href="classprophet_1_1Dictionary.html" title="Utility class to facilitate converting to and from routing string (endpoint ID) and...">Dictionary</a> includes the list of addresses used in making routing decisions. The referents remain constant for the duration of a session over a link where the instance numbers remain the same and can be used by both the Routing Information Base messages and the bundle offer messages. 
</div>
</div><p>
<a class="anchor" name="5aab54c6e1a12bb1846b2a3f299d1ff6"></a><!-- doxytag: member="prophet::RIBDTLV::ribd_" ref="5aab54c6e1a12bb1846b2a3f299d1ff6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> <a class="el" href="classprophet_1_1RIBDTLV.html#5aab54c6e1a12bb1846b2a3f299d1ff6">prophet::RIBDTLV::ribd_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
mapping from destination id string to numeric id (sid) 
<p>

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

<p>Referenced by <a class="el" href="RIBDTLV_8cc-source.html#l00147">deserialize()</a>, <a class="el" href="RIBDTLV_8cc-source.html#l00197">ribd()</a>, <a class="el" href="RIBDTLV_8cc-source.html#l00024">RIBDTLV()</a>, and <a class="el" href="RIBDTLV_8cc-source.html#l00066">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0462e2f66d58cf097d5d759e9d3d2e27"></a><!-- doxytag: member="prophet::RIBDTLV::RIBDTLVHeaderSize" ref="0462e2f66d58cf097d5d759e9d3d2e27" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="classprophet_1_1RIBDTLV.html#0462e2f66d58cf097d5d759e9d3d2e27">prophet::RIBDTLV::RIBDTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1RIBDTLV_1_1RIBDTLVHeader.html">RIBDTLVHeader</a>)<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="RIBDTLV_8h-source.html#l00069">69</a> of file <a class="el" href="RIBDTLV_8h-source.html">RIBDTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBDTLV_8cc-source.html#l00147">deserialize()</a>, <a class="el" href="RIBDTLV_8cc-source.html#l00024">RIBDTLV()</a>, and <a class="el" href="RIBDTLV_8cc-source.html#l00066">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="557314304a9645a753d24f5580dbd61c"></a><!-- doxytag: member="prophet::RIBDTLV::RoutingAddressStringSize" ref="557314304a9645a753d24f5580dbd61c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="classprophet_1_1RIBDTLV.html#557314304a9645a753d24f5580dbd61c">prophet::RIBDTLV::RoutingAddressStringSize</a><code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment">
        <span class="keyword">sizeof</span>(<span class="keyword">struct </span>RoutingAddressString)
</pre></div>
<p>Definition at line <a class="el" href="RIBDTLV_8h-source.html#l00071">71</a> of file <a class="el" href="RIBDTLV_8h-source.html">RIBDTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBDTLV_8cc-source.html#l00115">read_ras_entry()</a>, <a class="el" href="RIBDTLV_8cc-source.html#l00024">RIBDTLV()</a>, <a class="el" href="RIBDTLV_8cc-source.html#l00066">serialize()</a>, and <a class="el" href="RIBDTLV_8cc-source.html#l00035">write_ras_entry()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="RIBDTLV_8h-source.html">RIBDTLV.h</a><li><a class="el" href="RIBDTLV_8cc-source.html">RIBDTLV.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>