Sophie

Sophie

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

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

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

<p>
<a href="classprophet_1_1HelloTLV-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_1HelloTLV_1_1HelloTLVHeader.html">HelloTLVHeader</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hello TLV header<br>
 p.  <a href="structprophet_1_1HelloTLV_1_1HelloTLVHeader.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_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a> { <br>
&nbsp;&nbsp;<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba081956a637415514e2f5b129221fe544a0">HF_UNKNOWN</a> =  0x0, 
<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba0800121f8315b9798dc602a5d2779b0b0d">SYN</a> =  0x1, 
<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08ab3f4be155b2bf0adb0832d7492b5082">SYNACK</a> =  0x2, 
<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08288d8aeb7f9f87a7a8bb4742242618a8">ACK</a> =  0x3, 
<br>
&nbsp;&nbsp;<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08534d7962f263ce41bc0a71b73b9b7c71">RSTACK</a> =  0x4
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Legal values for <a class="el" href="structprophet_1_1HelloTLV_1_1HelloTLVHeader.html#85c54dfa4ea89f4ae200afb45cea70c2" title="Specifies the function of the Hello TLV.">HelloTLVHeader.HF</a> (hello function) p.  <a href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">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_1HelloTLV.html#db7ece6c409f8f3df8557fdf1356bd67">HelloTLV</a> (<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a> hf, u_int8_t timer, const std::string &amp;sender)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#db7ece6c409f8f3df8557fdf1356bd67"></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_1HelloTLV.html#4ef4874456ea8b2c4c80433f7c8adc89">~HelloTLV</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#4ef4874456ea8b2c4c80433f7c8adc89"></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_1HelloTLV.html#606643bb367524d8407c54500ffe1fc8">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="#606643bb367524d8407c54500ffe1fc8"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#98534984f2a41633872c7a5f9d8f3af3">hf</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#98534984f2a41633872c7a5f9d8f3af3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#dc4a9cf0a425acc17d0cf04f3a3f8f8b">hf_str</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#dc4a9cf0a425acc17d0cf04f3a3f8f8b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#9ac6e43621e0ab5c01b8b61b20236f9e">timer</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#9ac6e43621e0ab5c01b8b61b20236f9e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#e2cd6b4b3df40ad18b622a7fa6103d6e">sender</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessors.  <a href="#e2cd6b4b3df40ad18b622a7fa6103d6e"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#4582d1ad0ea1cb93cea0bd7bfc2b6bb5">hf_to_str</a> (<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a> hf)</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_1HelloTLV_1_1HelloTLVHeader.html">prophet::HelloTLV::HelloTLVHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#a7054b721184bab1b38a732e308cbc94">packed</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hello TLV header<br>
 p.  <a href="#a7054b721184bab1b38a732e308cbc94"></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_1HelloTLV.html#4e64147af7636a37a2160d485ac7e97f">HelloTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1HelloTLV_1_1HelloTLVHeader.html">HelloTLVHeader</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_1HelloTLV.html#0be11ca3691c6c28b4990f077874f45f">HelloTLV</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#0be11ca3691c6c28b4990f077874f45f"></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_1HelloTLV.html#a5c9b27b0f314b9ddc24e8550792a1f4">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="#a5c9b27b0f314b9ddc24e8550792a1f4"></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_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#9d15e2e2b2e33eb244f4e221a11ab3e3">hf_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hello function bytecode.  <a href="#9d15e2e2b2e33eb244f4e221a11ab3e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#f8b902c92e8b9c29aa55313c5b681a3f">timer_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Units of 100ms between Hello messages.  <a href="#f8b902c92e8b9c29aa55313c5b681a3f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1HelloTLV.html#56e59f80cae3daf0bb6196605b653b3a">sender_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">endpoint id of sender  <a href="#56e59f80cae3daf0bb6196605b653b3a"></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_1HelloTLV.html#c45b358eb2ff6dc12f982238f1627910">TLVFactory&lt; HelloTLV &gt;</a></td></tr>

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

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00026">26</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="4b04d76a4e7cc392b21552173c2bba08"></a><!-- doxytag: member="prophet::HelloTLV::hello_hf_t" ref="4b04d76a4e7cc392b21552173c2bba08" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">prophet::HelloTLV::hello_hf_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Legal values for <a class="el" href="structprophet_1_1HelloTLV_1_1HelloTLVHeader.html#85c54dfa4ea89f4ae200afb45cea70c2" title="Specifies the function of the Hello TLV.">HelloTLVHeader.HF</a> (hello function) p. 
<p>
25, 4.4.1 <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="4b04d76a4e7cc392b21552173c2bba081956a637415514e2f5b129221fe544a0"></a><!-- doxytag: member="HF_UNKNOWN" ref="4b04d76a4e7cc392b21552173c2bba081956a637415514e2f5b129221fe544a0" args="" -->HF_UNKNOWN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4b04d76a4e7cc392b21552173c2bba0800121f8315b9798dc602a5d2779b0b0d"></a><!-- doxytag: member="SYN" ref="4b04d76a4e7cc392b21552173c2bba0800121f8315b9798dc602a5d2779b0b0d" args="" -->SYN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4b04d76a4e7cc392b21552173c2bba08ab3f4be155b2bf0adb0832d7492b5082"></a><!-- doxytag: member="SYNACK" ref="4b04d76a4e7cc392b21552173c2bba08ab3f4be155b2bf0adb0832d7492b5082" args="" -->SYNACK</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4b04d76a4e7cc392b21552173c2bba08288d8aeb7f9f87a7a8bb4742242618a8"></a><!-- doxytag: member="ACK" ref="4b04d76a4e7cc392b21552173c2bba08288d8aeb7f9f87a7a8bb4742242618a8" args="" -->ACK</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4b04d76a4e7cc392b21552173c2bba08534d7962f263ce41bc0a71b73b9b7c71"></a><!-- doxytag: member="RSTACK" ref="4b04d76a4e7cc392b21552173c2bba08534d7962f263ce41bc0a71b73b9b7c71" args="" -->RSTACK</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00094">94</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="db7ece6c409f8f3df8557fdf1356bd67"></a><!-- doxytag: member="prophet::HelloTLV::HelloTLV" ref="db7ece6c409f8f3df8557fdf1356bd67" args="(hello_hf_t hf, u_int8_t timer, const std::string &amp;sender)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::HelloTLV::HelloTLV           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a>&nbsp;</td>
          <td class="paramname"> <em>hf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u_int8_t&nbsp;</td>
          <td class="paramname"> <em>timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>sender</em></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="HelloTLV_8cc-source.html#l00030">30</a> of file <a class="el" href="HelloTLV_8cc-source.html">HelloTLV.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="4ef4874456ea8b2c4c80433f7c8adc89"></a><!-- doxytag: member="prophet::HelloTLV::~HelloTLV" ref="4ef4874456ea8b2c4c80433f7c8adc89" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual prophet::HelloTLV::~HelloTLV           </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="HelloTLV_8h-source.html#l00125">125</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0be11ca3691c6c28b4990f077874f45f"></a><!-- doxytag: member="prophet::HelloTLV::HelloTLV" ref="0be11ca3691c6c28b4990f077874f45f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">prophet::HelloTLV::HelloTLV           </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="HelloTLV_8cc-source.html#l00025">25</a> of file <a class="el" href="HelloTLV_8cc-source.html">HelloTLV.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a5c9b27b0f314b9ddc24e8550792a1f4"></a><!-- doxytag: member="prophet::HelloTLV::deserialize" ref="a5c9b27b0f314b9ddc24e8550792a1f4" 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::HelloTLV::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="HelloTLV_8cc-source.html#l00042">42</a> of file <a class="el" href="HelloTLV_8cc-source.html">HelloTLV.cc</a>.</p>

<p>References <a class="el" href="BaseTLV_8h-source.html#l00066">prophet::BaseTLV::HELLO_TLV</a>, <a class="el" href="HelloTLV_8h-source.html#l00088">HelloTLVHeaderSize</a>, <a class="el" href="HelloTLV_8h-source.html#l00058">prophet::HelloTLV::HelloTLV::HelloTLVHeader::HF</a>, <a class="el" href="HelloTLV_8h-source.html#l00152">hf_</a>, <a class="el" href="HelloTLV_8h-source.html#l00063">prophet::HelloTLV::HelloTLV::HelloTLVHeader::length</a>, <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="HelloTLV_8h-source.html#l00079">prophet::HelloTLV::HelloTLV::HelloTLVHeader::name_length</a>, <a class="el" href="HelloTLV_8h-source.html#l00154">sender_</a>, <a class="el" href="HelloTLV_8h-source.html#l00085">prophet::HelloTLV::HelloTLV::HelloTLVHeader::sender_name</a>, <a class="el" href="HelloTLV_8h-source.html#l00071">prophet::HelloTLV::HelloTLV::HelloTLVHeader::timer</a>, <a class="el" href="HelloTLV_8h-source.html#l00153">timer_</a>, and <a class="el" href="HelloTLV_8h-source.html#l00047">prophet::HelloTLV::HelloTLV::HelloTLVHeader::type</a>.</p>

</div>
</div><p>
<a class="anchor" name="98534984f2a41633872c7a5f9d8f3af3"></a><!-- doxytag: member="prophet::HelloTLV::hf" ref="98534984f2a41633872c7a5f9d8f3af3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a> prophet::HelloTLV::hf           </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="HelloTLV_8h-source.html#l00133">133</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>References <a class="el" href="HelloTLV_8h-source.html#l00152">hf_</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc4a9cf0a425acc17d0cf04f3a3f8f8b"></a><!-- doxytag: member="prophet::HelloTLV::hf_str" ref="dc4a9cf0a425acc17d0cf04f3a3f8f8b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* prophet::HelloTLV::hf_str           </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="HelloTLV_8h-source.html#l00134">134</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>References <a class="el" href="HelloTLV_8h-source.html#l00152">hf_</a>, and <a class="el" href="HelloTLV_8h-source.html#l00103">hf_to_str()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4582d1ad0ea1cb93cea0bd7bfc2b6bb5"></a><!-- doxytag: member="prophet::HelloTLV::hf_to_str" ref="4582d1ad0ea1cb93cea0bd7bfc2b6bb5" args="(hello_hf_t hf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const char* prophet::HelloTLV::hf_to_str           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a>&nbsp;</td>
          <td class="paramname"> <em>hf</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00103">103</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>References <a class="el" href="HelloTLV_8h-source.html#l00098">ACK</a>, <a class="el" href="HelloTLV_8h-source.html#l00095">HF_UNKNOWN</a>, <a class="el" href="HelloTLV_8h-source.html#l00099">RSTACK</a>, <a class="el" href="HelloTLV_8h-source.html#l00096">SYN</a>, and <a class="el" href="HelloTLV_8h-source.html#l00097">SYNACK</a>.</p>

<p>Referenced by <a class="el" href="HelloTLV_8h-source.html#l00134">hf_str()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e2cd6b4b3df40ad18b622a7fa6103d6e"></a><!-- doxytag: member="prophet::HelloTLV::sender" ref="e2cd6b4b3df40ad18b622a7fa6103d6e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string prophet::HelloTLV::sender           </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="HelloTLV_8h-source.html#l00136">136</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>References <a class="el" href="HelloTLV_8h-source.html#l00154">sender_</a>.</p>

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

<p>References <a class="el" href="Announce_8h-source.html#l00027">FOUR_BYTE_ALIGN</a>, <a class="el" href="BaseTLV_8h-source.html#l00066">prophet::BaseTLV::HELLO_TLV</a>, <a class="el" href="HelloTLV_8h-source.html#l00088">HelloTLVHeaderSize</a>, <a class="el" href="HelloTLV_8h-source.html#l00058">prophet::HelloTLV::HelloTLV::HelloTLVHeader::HF</a>, <a class="el" href="HelloTLV_8h-source.html#l00152">hf_</a>, <a class="el" href="HelloTLV_8h-source.html#l00063">prophet::HelloTLV::HelloTLV::HelloTLVHeader::length</a>, <a class="el" href="BaseTLV_8h-source.html#l00127">prophet::BaseTLV::length_</a>, <a class="el" href="HelloTLV_8h-source.html#l00079">prophet::HelloTLV::HelloTLV::HelloTLVHeader::name_length</a>, <a class="el" href="HelloTLV_8h-source.html#l00154">sender_</a>, <a class="el" href="HelloTLV_8h-source.html#l00085">prophet::HelloTLV::HelloTLV::HelloTLVHeader::sender_name</a>, <a class="el" href="HelloTLV_8h-source.html#l00071">prophet::HelloTLV::HelloTLV::HelloTLVHeader::timer</a>, <a class="el" href="HelloTLV_8h-source.html#l00153">timer_</a>, <a class="el" href="HelloTLV_8h-source.html#l00047">prophet::HelloTLV::HelloTLV::HelloTLVHeader::type</a>, and <a class="el" href="BaseTLV_8h-source.html#l00125">prophet::BaseTLV::typecode_</a>.</p>

</div>
</div><p>
<a class="anchor" name="9ac6e43621e0ab5c01b8b61b20236f9e"></a><!-- doxytag: member="prophet::HelloTLV::timer" ref="9ac6e43621e0ab5c01b8b61b20236f9e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int8_t prophet::HelloTLV::timer           </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="HelloTLV_8h-source.html#l00135">135</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>References <a class="el" href="HelloTLV_8h-source.html#l00153">timer_</a>.</p>

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

<p>

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00140">140</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="4e64147af7636a37a2160d485ac7e97f"></a><!-- doxytag: member="prophet::HelloTLV::HelloTLVHeaderSize" ref="4e64147af7636a37a2160d485ac7e97f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="classprophet_1_1HelloTLV.html#4e64147af7636a37a2160d485ac7e97f">prophet::HelloTLV::HelloTLVHeaderSize</a> = sizeof(struct <a class="el" href="structprophet_1_1HelloTLV_1_1HelloTLVHeader.html">HelloTLVHeader</a>)<code> [static]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00088">88</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>Referenced by <a class="el" href="HelloTLV_8cc-source.html#l00042">deserialize()</a>, and <a class="el" href="HelloTLV_8cc-source.html#l00072">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9d15e2e2b2e33eb244f4e221a11ab3e3"></a><!-- doxytag: member="prophet::HelloTLV::hf_" ref="9d15e2e2b2e33eb244f4e221a11ab3e3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">hello_hf_t</a> <a class="el" href="classprophet_1_1HelloTLV.html#9d15e2e2b2e33eb244f4e221a11ab3e3">prophet::HelloTLV::hf_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hello function bytecode. 
<p>

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00152">152</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>Referenced by <a class="el" href="HelloTLV_8cc-source.html#l00042">deserialize()</a>, <a class="el" href="HelloTLV_8h-source.html#l00133">hf()</a>, <a class="el" href="HelloTLV_8h-source.html#l00134">hf_str()</a>, and <a class="el" href="HelloTLV_8cc-source.html#l00072">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a7054b721184bab1b38a732e308cbc94"></a><!-- doxytag: member="prophet::HelloTLV::packed" ref="a7054b721184bab1b38a732e308cbc94" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structprophet_1_1HelloTLV_1_1HelloTLVHeader.html">prophet::HelloTLV::HelloTLVHeader</a> <a class="el" href="classprophet_1_1HelloTLV.html#a7054b721184bab1b38a732e308cbc94">prophet::HelloTLV::packed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hello TLV header<br>
 p. 
<p>
25, 4.4.1<br>
 <br>
 The Hello TLV is used to set up and maintain a link between two PRoPHET nodes. Hello messages with the SYN function are transmitted periodically as beacons. The Hello TLV is the first TLV exchanged between two PRoPHET nodes when they encounter each other. No other TLVs can be exchanged until the first Hello sequenece is completed.<br>
 <br>
 Once a communication link is established between two PRoPHET nodes, the Hello TLV will be sent once for each interval as defined in the interval timer. If a node experiences the lapse of HELLO_DEAD Hello intervals without receiving a Hello TLV on an ESTAB connection (as defined in the state machine in Section 5.2), the connection SHOULD be assumed broken. 
</div>
</div><p>
<a class="anchor" name="56e59f80cae3daf0bb6196605b653b3a"></a><!-- doxytag: member="prophet::HelloTLV::sender_" ref="56e59f80cae3daf0bb6196605b653b3a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classprophet_1_1HelloTLV.html#56e59f80cae3daf0bb6196605b653b3a">prophet::HelloTLV::sender_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
endpoint id of sender 
<p>

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00154">154</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>Referenced by <a class="el" href="HelloTLV_8cc-source.html#l00042">deserialize()</a>, <a class="el" href="HelloTLV_8h-source.html#l00136">sender()</a>, and <a class="el" href="HelloTLV_8cc-source.html#l00072">serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f8b902c92e8b9c29aa55313c5b681a3f"></a><!-- doxytag: member="prophet::HelloTLV::timer_" ref="f8b902c92e8b9c29aa55313c5b681a3f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u_int8_t <a class="el" href="classprophet_1_1HelloTLV.html#f8b902c92e8b9c29aa55313c5b681a3f">prophet::HelloTLV::timer_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Units of 100ms between Hello messages. 
<p>

<p>Definition at line <a class="el" href="HelloTLV_8h-source.html#l00153">153</a> of file <a class="el" href="HelloTLV_8h-source.html">HelloTLV.h</a>.</p>

<p>Referenced by <a class="el" href="HelloTLV_8cc-source.html#l00042">deserialize()</a>, <a class="el" href="HelloTLV_8cc-source.html#l00072">serialize()</a>, and <a class="el" href="HelloTLV_8h-source.html#l00135">timer()</a>.</p>

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