Sophie

Sophie

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

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

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

<p>
<a href="classprophet_1_1RIBTLV-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_1RIBTLV_1_1RIBEntry.html">RIBEntry</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Information Base entry p.  <a href="structprophet_1_1RIBTLV_1_1RIBEntry.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_1RIBTLV_1_1RIBTLVHeader.html">RIBTLVHeader</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Information Base TLV <br>
 p.  <a href="structprophet_1_1RIBTLV_1_1RIBTLVHeader.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_1RIBTLV.html#b822f9c4c9f1bbfde21215cc137b2ce9">rib_header_flag_t</a> { <a class="el" href="classprophet_1_1RIBTLV.html#b822f9c4c9f1bbfde21215cc137b2ce907986bd40834cfcf54f8a40aa6ce3b79">RELAY_NODE</a> =  1 &lt;&lt; 0, 
<a class="el" href="classprophet_1_1RIBTLV.html#b822f9c4c9f1bbfde21215cc137b2ce99fac89806e29c2fa236bbac89fa5483d">CUSTODY_NODE</a> =  1 &lt;&lt; 1, 
<a class="el" href="classprophet_1_1RIBTLV.html#b822f9c4c9f1bbfde21215cc137b2ce95f74aeab69c1736cea20e0fc9e18b48e">INTERNET_GW_NODE</a> =  1 &lt;&lt; 2
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RIB Header Flags p.  <a href="classprophet_1_1RIBTLV.html#b822f9c4c9f1bbfde21215cc137b2ce9">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classprophet_1_1PointerList.html#4592d269227296c2bd509fd8f4089589">RIBNodeList::iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#51c1c0177057ba2576bfd4a2a3fcbf44">iterator</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classprophet_1_1PointerList.html#06e35a2ecc4bda2286b6e3f3685b9a9e">RIBNodeList::const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#5f6c403eb1a75ab229ebb8214ebbacfd">const_iterator</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#dce5afcecb193e604f78d01711740b45">RIBTLV</a> (const <a class="el" href="classprophet_1_1PointerList.html">RIBNodeList</a> &amp;nodes, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> relay, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> custody, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> internet=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#dce5afcecb193e604f78d01711740b45"></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_1RIBTLV.html#01d06f4772aa350a858397a00911d4d6">~RIBTLV</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#01d06f4772aa350a858397a00911d4d6"></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_1RIBTLV.html#ce56f1f66c8a973d7a59b0c2bfa4812c">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="#ce56f1f66c8a973d7a59b0c2bfa4812c"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classprophet_1_1PointerList.html">RIBNodeList</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#da2c41e4216a0ddb40c52001084af457">nodes</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#da2c41e4216a0ddb40c52001084af457"></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_1RIBTLV.html#fd92d49a23da8ee5a9ef1349b1f85bfa">relay</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#fd92d49a23da8ee5a9ef1349b1f85bfa"></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_1RIBTLV.html#3c4a5b5a78ca2cd299952914f540f3e8">custody</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#3c4a5b5a78ca2cd299952914f540f3e8"></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_1RIBTLV.html#25507e2237efebdcccd2f2800464cb8d">internet</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#25507e2237efebdcccd2f2800464cb8d"></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_1RIBTLV_1_1RIBTLVHeader.html">prophet::RIBTLV::RIBTLVHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#e59b2fde572f5d8680503d0eb838afa9">packed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Information Base TLV <br>
 p.  <a href="#e59b2fde572f5d8680503d0eb838afa9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBEntry.html">prophet::RIBTLV::RIBEntry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#af8420211eb4aaac9cac7b8d2168cb95">packed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routing Information Base entry p.  <a href="#af8420211eb4aaac9cac7b8d2168cb95"></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_1RIBTLV.html#c8cc286d0b6f4322a5c1e4beff758d72">RIBTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBTLVHeader.html">RIBTLVHeader</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_1RIBTLV.html#c7119b733e1ac4b3cf22a1ce5a7f0062">RIBEntrySize</a> = sizeof(struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBEntry.html">RIBEntry</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_1RIBTLV.html#8bbe4d6a0baf33591fee36cf282191a7">RIBTLV</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#8bbe4d6a0baf33591fee36cf282191a7"></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_1RIBTLV.html#89c4ff6df76ed8241a3fd7d0745f3b2d">write_rib_entry</a> (u_int16_t sid, double pvalue, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> relay, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> custody, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> internet, u_char *bp, size_t len) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serialize routing information base entry out to no more than len bytes of buffer, using struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBEntry.html" title="Routing Information Base entry p.">RIBEntry</a>; return bytes written.  <a href="#89c4ff6df76ed8241a3fd7d0745f3b2d"></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_1RIBTLV.html#27007d75c45d2e5cb300fabe19d0de5c">read_rib_entry</a> (u_int16_t *sid, double *pvalue, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *relay, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *custody, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *internet, 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_1RIBTLV_1_1RIBEntry.html" title="Routing Information Base entry p.">RIBEntry</a> struct from transport into memory, reading no more than len bytes from buffer; return bytes read.  <a href="#27007d75c45d2e5cb300fabe19d0de5c"></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_1RIBTLV.html#2ef063b460e46038ff251775cb621a9c">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="#2ef063b460e46038ff251775cb621a9c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#be1b38891666e6c09f5cf4df07287e88">decode_flags</a> (u_int8_t flags, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *relay, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *custody, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> *internet)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility function for decoding RIB header flags.  <a href="#be1b38891666e6c09f5cf4df07287e88"></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_1PointerList.html">RIBNodeList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1RIBTLV.html#7f42b25b00f4418988b449e5b7ad0609">nodes_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of RIB entries.  <a href="#7f42b25b00f4418988b449e5b7ad0609"></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_1RIBTLV.html#c4f10f023f5ca5f98644576888cf178d">relay_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether this node accepts bundles for relay to other nodes.  <a href="#c4f10f023f5ca5f98644576888cf178d"></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_1RIBTLV.html#66d56083be8dfcb832ad1016ed2ee95b">custody_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether this node accepts custody transfers.  <a href="#66d56083be8dfcb832ad1016ed2ee95b"></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_1RIBTLV.html#a77ff503c9891ef67c02cb09fabd4aed">internet_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether this node bridges to the Internet.  <a href="#a77ff503c9891ef67c02cb09fabd4aed"></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_1RIBTLV.html#7a64341ce4495d9b958714b112b45b26">TLVFactory&lt; RIBTLV &gt;</a></td></tr>

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

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00027">27</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="5f6c403eb1a75ab229ebb8214ebbacfd"></a><!-- doxytag: member="prophet::RIBTLV::const_iterator" ref="5f6c403eb1a75ab229ebb8214ebbacfd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classprophet_1_1PointerList.html#06e35a2ecc4bda2286b6e3f3685b9a9e">RIBNodeList::const_iterator</a> <a class="el" href="classprophet_1_1RIBTLV.html#5f6c403eb1a75ab229ebb8214ebbacfd">prophet::RIBTLV::const_iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00032">32</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="51c1c0177057ba2576bfd4a2a3fcbf44"></a><!-- doxytag: member="prophet::RIBTLV::iterator" ref="51c1c0177057ba2576bfd4a2a3fcbf44" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classprophet_1_1PointerList.html#4592d269227296c2bd509fd8f4089589">RIBNodeList::iterator</a> <a class="el" href="classprophet_1_1RIBTLV.html#51c1c0177057ba2576bfd4a2a3fcbf44">prophet::RIBTLV::iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00031">31</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="b822f9c4c9f1bbfde21215cc137b2ce9"></a><!-- doxytag: member="prophet::RIBTLV::rib_header_flag_t" ref="b822f9c4c9f1bbfde21215cc137b2ce9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classprophet_1_1RIBTLV.html#b822f9c4c9f1bbfde21215cc137b2ce9">prophet::RIBTLV::rib_header_flag_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RIB Header Flags p. 
<p>
28, 4.4.4 <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="b822f9c4c9f1bbfde21215cc137b2ce907986bd40834cfcf54f8a40aa6ce3b79"></a><!-- doxytag: member="RELAY_NODE" ref="b822f9c4c9f1bbfde21215cc137b2ce907986bd40834cfcf54f8a40aa6ce3b79" args="" -->RELAY_NODE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b822f9c4c9f1bbfde21215cc137b2ce99fac89806e29c2fa236bbac89fa5483d"></a><!-- doxytag: member="CUSTODY_NODE" ref="b822f9c4c9f1bbfde21215cc137b2ce99fac89806e29c2fa236bbac89fa5483d" args="" -->CUSTODY_NODE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b822f9c4c9f1bbfde21215cc137b2ce95f74aeab69c1736cea20e0fc9e18b48e"></a><!-- doxytag: member="INTERNET_GW_NODE" ref="b822f9c4c9f1bbfde21215cc137b2ce95f74aeab69c1736cea20e0fc9e18b48e" args="" -->INTERNET_GW_NODE</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00038">38</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="dce5afcecb193e604f78d01711740b45"></a><!-- doxytag: member="prophet::RIBTLV::RIBTLV" ref="dce5afcecb193e604f78d01711740b45" args="(const RIBNodeList &amp;nodes, bool relay, bool custody, bool internet=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::RIBTLV::RIBTLV           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classprophet_1_1PointerList.html">RIBNodeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>nodes</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>relay</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>internet</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8cc-source.html#l00025">25</a> of file <a class="el" href="RIBTLV_8cc-source.html">RIBTLV.cc</a>.</p>

<p>References <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="RIBTLV_8h-source.html#l00173">nodes_</a>, <a class="el" href="RIBTLV_8h-source.html#l00111">RIBEntrySize</a>, and <a class="el" href="RIBTLV_8h-source.html#l00109">RIBTLVHeaderSize</a>.</p>

</div>
</div><p>
<a class="anchor" name="01d06f4772aa350a858397a00911d4d6"></a><!-- doxytag: member="prophet::RIBTLV::~RIBTLV" ref="01d06f4772aa350a858397a00911d4d6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual prophet::RIBTLV::~RIBTLV           </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="RIBTLV_8h-source.html#l00124">124</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8bbe4d6a0baf33591fee36cf282191a7"></a><!-- doxytag: member="prophet::RIBTLV::RIBTLV" ref="8bbe4d6a0baf33591fee36cf282191a7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::RIBTLV::RIBTLV           </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="RIBTLV_8cc-source.html#l00035">35</a> of file <a class="el" href="RIBTLV_8cc-source.html">RIBTLV.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="3c4a5b5a78ca2cd299952914f540f3e8"></a><!-- doxytag: member="prophet::RIBTLV::custody" ref="3c4a5b5a78ca2cd299952914f540f3e8" 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::RIBTLV::custody           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessors. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00134">134</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>References <a class="el" href="RIBTLV_8h-source.html#l00176">custody_</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="be1b38891666e6c09f5cf4df07287e88"></a><!-- doxytag: member="prophet::RIBTLV::decode_flags" ref="be1b38891666e6c09f5cf4df07287e88" args="(u_int8_t flags, bool *relay, bool *custody, bool *internet)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void prophet::RIBTLV::decode_flags           </td>
          <td>(</td>
          <td class="paramtype">u_int8_t&nbsp;</td>
          <td class="paramname"> <em>flags</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>relay</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>internet</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Utility function for decoding RIB header flags. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8cc-source.html#l00091">91</a> of file <a class="el" href="RIBTLV_8cc-source.html">RIBTLV.cc</a>.</p>

<p>References <a class="el" href="RIBTLV_8h-source.html#l00040">CUSTODY_NODE</a>, <a class="el" href="RIBTLV_8h-source.html#l00041">INTERNET_GW_NODE</a>, and <a class="el" href="RIBTLV_8h-source.html#l00039">RELAY_NODE</a>.</p>

<p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">deserialize()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00130">read_rib_entry()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2ef063b460e46038ff251775cb621a9c"></a><!-- doxytag: member="prophet::RIBTLV::deserialize" ref="2ef063b460e46038ff251775cb621a9c" 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::RIBTLV::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="RIBTLV_8cc-source.html#l00153">153</a> of file <a class="el" href="RIBTLV_8cc-source.html">RIBTLV.cc</a>.</p>

<p>References <a class="el" href="RIBTLV_8h-source.html#l00134">custody()</a>, <a class="el" href="RIBTLV_8h-source.html#l00176">custody_</a>, <a class="el" href="RIBTLV_8cc-source.html#l00091">decode_flags()</a>, <a class="el" href="RIBTLV_8h-source.html#l00068">prophet::RIBTLV::RIBTLV::RIBTLVHeader::flags</a>, <a class="el" href="BaseTLV_8h-source.html#l00126">prophet::BaseTLV::flags_</a>, <a class="el" href="RIBTLV_8h-source.html#l00135">internet()</a>, <a class="el" href="RIBTLV_8h-source.html#l00177">internet_</a>, <a class="el" href="RIBTLV_8h-source.html#l00073">prophet::RIBTLV::RIBTLV::RIBTLVHeader::length</a>, <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="RIBTLV_8h-source.html#l00173">nodes_</a>, <a class="el" href="RIBTLV_8cc-source.html#l00130">read_rib_entry()</a>, <a class="el" href="RIBTLV_8h-source.html#l00133">relay()</a>, <a class="el" href="RIBTLV_8h-source.html#l00174">relay_</a>, <a class="el" href="RIBTLV_8h-source.html#l00074">prophet::RIBTLV::RIBTLV::RIBTLVHeader::rib_string_count</a>, <a class="el" href="BaseTLV_8h-source.html#l00069">prophet::BaseTLV::RIB_TLV</a>, <a class="el" href="RIBTLV_8h-source.html#l00111">RIBEntrySize</a>, <a class="el" href="RIBTLV_8h-source.html#l00109">RIBTLVHeaderSize</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00168">prophet::Node::set_custody()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00169">prophet::Node::set_internet_gw()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00163">prophet::Node::set_pvalue()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00167">prophet::Node::set_relay()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00242">prophet::RIBNode::sid_</a>, <a class="el" href="RIBTLV_8h-source.html#l00054">prophet::RIBTLV::RIBTLV::RIBTLVHeader::type</a>, and <a class="el" href="BaseTLV_8h-source.html#l00125">prophet::BaseTLV::typecode_</a>.</p>

</div>
</div><p>
<a class="anchor" name="25507e2237efebdcccd2f2800464cb8d"></a><!-- doxytag: member="prophet::RIBTLV::internet" ref="25507e2237efebdcccd2f2800464cb8d" 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::RIBTLV::internet           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessors. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00135">135</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>References <a class="el" href="RIBTLV_8h-source.html#l00177">internet_</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="da2c41e4216a0ddb40c52001084af457"></a><!-- doxytag: member="prophet::RIBTLV::nodes" ref="da2c41e4216a0ddb40c52001084af457" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classprophet_1_1PointerList.html">RIBNodeList</a>&amp; prophet::RIBTLV::nodes           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessors. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00132">132</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>References <a class="el" href="RIBTLV_8h-source.html#l00173">nodes_</a>.</p>

</div>
</div><p>
<a class="anchor" name="27007d75c45d2e5cb300fabe19d0de5c"></a><!-- doxytag: member="prophet::RIBTLV::read_rib_entry" ref="27007d75c45d2e5cb300fabe19d0de5c" args="(u_int16_t *sid, double *pvalue, bool *relay, bool *custody, bool *internet, const u_char *bp, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::RIBTLV::read_rib_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">double *&nbsp;</td>
          <td class="paramname"> <em>pvalue</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>relay</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>internet</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_1RIBTLV_1_1RIBEntry.html" title="Routing Information Base entry p.">RIBEntry</a> struct from transport into memory, reading no more than len bytes from buffer; return bytes read. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8cc-source.html#l00130">130</a> of file <a class="el" href="RIBTLV_8cc-source.html">RIBTLV.cc</a>.</p>

<p>References <a class="el" href="RIBTLV_8cc-source.html#l00091">decode_flags()</a>, <a class="el" href="RIBTLV_8h-source.html#l00106">prophet::RIBTLV::RIBTLV::RIBEntry::flags</a>, <a class="el" href="RIBTLV_8h-source.html#l00093">prophet::RIBTLV::RIBTLV::RIBEntry::pvalue</a>, <a class="el" href="RIBTLV_8h-source.html#l00111">RIBEntrySize</a>, and <a class="el" href="RIBTLV_8h-source.html#l00086">prophet::RIBTLV::RIBTLV::RIBEntry::string_id</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="fd92d49a23da8ee5a9ef1349b1f85bfa"></a><!-- doxytag: member="prophet::RIBTLV::relay" ref="fd92d49a23da8ee5a9ef1349b1f85bfa" 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::RIBTLV::relay           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Accessors. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00133">133</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>References <a class="el" href="RIBTLV_8h-source.html#l00174">relay_</a>.</p>

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

</div>
</div><p>
<a class="anchor" name="ce56f1f66c8a973d7a59b0c2bfa4812c"></a><!-- doxytag: member="prophet::RIBTLV::serialize" ref="ce56f1f66c8a973d7a59b0c2bfa4812c" args="(u_char *bp, size_t len) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::RIBTLV::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="RIBTLV_8cc-source.html#l00040">40</a> of file <a class="el" href="RIBTLV_8cc-source.html">RIBTLV.cc</a>.</p>

<p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00112">prophet::Node::custody()</a>, <a class="el" href="RIBTLV_8h-source.html#l00176">custody_</a>, <a class="el" href="RIBTLV_8h-source.html#l00040">CUSTODY_NODE</a>, <a class="el" href="RIBTLV_8h-source.html#l00068">prophet::RIBTLV::RIBTLV::RIBTLVHeader::flags</a>, <a class="el" href="RIBTLV_8h-source.html#l00177">internet_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00113">prophet::Node::internet_gw()</a>, <a class="el" href="RIBTLV_8h-source.html#l00041">INTERNET_GW_NODE</a>, <a class="el" href="RIBTLV_8h-source.html#l00073">prophet::RIBTLV::RIBTLV::RIBTLVHeader::length</a>, <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="RIBTLV_8h-source.html#l00173">nodes_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00110">prophet::Node::p_value()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00111">prophet::Node::relay()</a>, <a class="el" href="RIBTLV_8h-source.html#l00174">relay_</a>, <a class="el" href="RIBTLV_8h-source.html#l00039">RELAY_NODE</a>, <a class="el" href="RIBTLV_8h-source.html#l00074">prophet::RIBTLV::RIBTLV::RIBTLVHeader::rib_string_count</a>, <a class="el" href="BaseTLV_8h-source.html#l00069">prophet::BaseTLV::RIB_TLV</a>, <a class="el" href="RIBTLV_8h-source.html#l00111">RIBEntrySize</a>, <a class="el" href="RIBTLV_8h-source.html#l00109">RIBTLVHeaderSize</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00242">prophet::RIBNode::sid_</a>, <a class="el" href="RIBTLV_8h-source.html#l00054">prophet::RIBTLV::RIBTLV::RIBTLVHeader::type</a>, <a class="el" href="BaseTLV_8h-source.html#l00125">prophet::BaseTLV::typecode_</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00105">write_rib_entry()</a>.</p>

</div>
</div><p>
<a class="anchor" name="89c4ff6df76ed8241a3fd7d0745f3b2d"></a><!-- doxytag: member="prophet::RIBTLV::write_rib_entry" ref="89c4ff6df76ed8241a3fd7d0745f3b2d" args="(u_int16_t sid, double pvalue, bool relay, bool custody, bool internet, u_char *bp, size_t len) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t prophet::RIBTLV::write_rib_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">double&nbsp;</td>
          <td class="paramname"> <em>pvalue</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>relay</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>internet</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 routing information base entry out to no more than len bytes of buffer, using struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBEntry.html" title="Routing Information Base entry p.">RIBEntry</a>; return bytes written. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8cc-source.html#l00105">105</a> of file <a class="el" href="RIBTLV_8cc-source.html">RIBTLV.cc</a>.</p>

<p>References <a class="el" href="RIBTLV_8h-source.html#l00040">CUSTODY_NODE</a>, <a class="el" href="RIBTLV_8h-source.html#l00106">prophet::RIBTLV::RIBTLV::RIBEntry::flags</a>, <a class="el" href="RIBTLV_8h-source.html#l00041">INTERNET_GW_NODE</a>, <a class="el" href="RIBTLV_8h-source.html#l00093">prophet::RIBTLV::RIBTLV::RIBEntry::pvalue</a>, <a class="el" href="RIBTLV_8h-source.html#l00039">RELAY_NODE</a>, <a class="el" href="RIBTLV_8h-source.html#l00111">RIBEntrySize</a>, and <a class="el" href="RIBTLV_8h-source.html#l00086">prophet::RIBTLV::RIBTLV::RIBEntry::string_id</a>.</p>

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

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="7a64341ce4495d9b958714b112b45b26"></a><!-- doxytag: member="prophet::RIBTLV::TLVFactory&lt; RIBTLV &gt;" ref="7a64341ce4495d9b958714b112b45b26" 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_1RIBTLV.html">RIBTLV</a> &gt;<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00139">139</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="66d56083be8dfcb832ad1016ed2ee95b"></a><!-- doxytag: member="prophet::RIBTLV::custody_" ref="66d56083be8dfcb832ad1016ed2ee95b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classprophet_1_1RIBTLV.html#66d56083be8dfcb832ad1016ed2ee95b">prophet::RIBTLV::custody_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether this node accepts custody transfers. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00176">176</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBTLV_8h-source.html#l00134">custody()</a>, <a class="el" href="RIBTLV_8cc-source.html#l00153">deserialize()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a77ff503c9891ef67c02cb09fabd4aed"></a><!-- doxytag: member="prophet::RIBTLV::internet_" ref="a77ff503c9891ef67c02cb09fabd4aed" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classprophet_1_1RIBTLV.html#a77ff503c9891ef67c02cb09fabd4aed">prophet::RIBTLV::internet_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether this node bridges to the Internet. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00177">177</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">deserialize()</a>, <a class="el" href="RIBTLV_8h-source.html#l00135">internet()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7f42b25b00f4418988b449e5b7ad0609"></a><!-- doxytag: member="prophet::RIBTLV::nodes_" ref="7f42b25b00f4418988b449e5b7ad0609" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classprophet_1_1PointerList.html">RIBNodeList</a> <a class="el" href="classprophet_1_1RIBTLV.html#7f42b25b00f4418988b449e5b7ad0609">prophet::RIBTLV::nodes_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
List of RIB entries. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00173">173</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">deserialize()</a>, <a class="el" href="RIBTLV_8h-source.html#l00132">nodes()</a>, <a class="el" href="RIBTLV_8cc-source.html#l00025">RIBTLV()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="af8420211eb4aaac9cac7b8d2168cb95"></a><!-- doxytag: member="prophet::RIBTLV::packed" ref="af8420211eb4aaac9cac7b8d2168cb95" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBEntry.html">prophet::RIBTLV::RIBEntry</a> <a class="el" href="classprophet_1_1RIBTLV.html#e59b2fde572f5d8680503d0eb838afa9">prophet::RIBTLV::packed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Routing Information Base entry p. 
<p>
28, 4.4.4 
</div>
</div><p>
<a class="anchor" name="e59b2fde572f5d8680503d0eb838afa9"></a><!-- doxytag: member="prophet::RIBTLV::packed" ref="e59b2fde572f5d8680503d0eb838afa9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBTLVHeader.html">prophet::RIBTLV::RIBTLVHeader</a> <a class="el" href="classprophet_1_1RIBTLV.html#e59b2fde572f5d8680503d0eb838afa9">prophet::RIBTLV::packed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Routing Information Base TLV <br>
 p. 
<p>
28, 4.4.4 <br>
 <br>
 The Routing Information Base lists the destinations a node knows of, and the delivery predictabilities it has associated with them. This information is needed by the PRoPHET algorithm to make decisions on routing and forwarding. 
</div>
</div><p>
<a class="anchor" name="c4f10f023f5ca5f98644576888cf178d"></a><!-- doxytag: member="prophet::RIBTLV::relay_" ref="c4f10f023f5ca5f98644576888cf178d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classprophet_1_1RIBTLV.html#c4f10f023f5ca5f98644576888cf178d">prophet::RIBTLV::relay_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether this node accepts bundles for relay to other nodes. 
<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00174">174</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">deserialize()</a>, <a class="el" href="RIBTLV_8h-source.html#l00133">relay()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c7119b733e1ac4b3cf22a1ce5a7f0062"></a><!-- doxytag: member="prophet::RIBTLV::RIBEntrySize" ref="c7119b733e1ac4b3cf22a1ce5a7f0062" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="classprophet_1_1RIBTLV.html#c7119b733e1ac4b3cf22a1ce5a7f0062">prophet::RIBTLV::RIBEntrySize</a> = sizeof(struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBEntry.html">RIBEntry</a>)<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00111">111</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">deserialize()</a>, <a class="el" href="RIBTLV_8cc-source.html#l00130">read_rib_entry()</a>, <a class="el" href="RIBTLV_8cc-source.html#l00025">RIBTLV()</a>, <a class="el" href="RIBTLV_8cc-source.html#l00040">serialize()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00105">write_rib_entry()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c8cc286d0b6f4322a5c1e4beff758d72"></a><!-- doxytag: member="prophet::RIBTLV::RIBTLVHeaderSize" ref="c8cc286d0b6f4322a5c1e4beff758d72" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="classprophet_1_1RIBTLV.html#c8cc286d0b6f4322a5c1e4beff758d72">prophet::RIBTLV::RIBTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1RIBTLV_1_1RIBTLVHeader.html">RIBTLVHeader</a>)<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="RIBTLV_8h-source.html#l00109">109</a> of file <a class="el" href="RIBTLV_8h-source.html">RIBTLV.h</a>.</p>

<p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">deserialize()</a>, <a class="el" href="RIBTLV_8cc-source.html#l00025">RIBTLV()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">serialize()</a>.</p>

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