<!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::Node Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceprophet.html">prophet</a>::<a class="el" href="classprophet_1_1Node.html">Node</a> </div> </div> <div class="contents"> <h1>prophet::Node Class Reference</h1><!-- doxytag: class="prophet::Node" --><code>#include <<a class="el" href="servlib_2prophet_2Node_8h-source.html">Node.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for prophet::Node:</div> <div class="dynsection"> <p><center><img src="classprophet_1_1Node.png" usemap="#prophet::Node_map" border="0" alt=""></center> <map name="prophet::Node_map"> <area href="classdtn_1_1ProphetNode.html" alt="dtn::ProphetNode" shape="rect" coords="0,56,110,80"> <area href="classprophet_1_1RIBNode.html" alt="prophet::RIBNode" shape="rect" coords="120,56,230,80"> </map> </div> <p> <a href="classprophet_1_1Node-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> <a class="el" href="classprophet_1_1Node.html" title="Node represents a route to another Prophet node, and as such, tracks destination...">Node</a> represents a route to another Prophet node, and as such, tracks destination endpoint ID and delivery predictability (0 <= p <= 1). <p> Pages and paragraphs refer to the Prophet Internet Draft released March 2006 <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00079">79</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#f888815e80064bc9fa1035c6265da86e">Table</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#f888815e80064bc9fa1035c6265da86e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#1ea496252513ca245fd09748f43f4e27">RIBTLV</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#1ea496252513ca245fd09748f43f4e27"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#417321bce127dbf863a0c0b7a9afabdc">heap_pos</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessor and mutator for heap index used by <a class="el" href="classprophet_1_1Table.html" title="Container for Prophet nodes (routes and predictability values).">Table</a> and testing. <a href="#417321bce127dbf863a0c0b7a9afabdc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#5b185a9167ef8b6e44ea608fd858dcbc">set_heap_pos</a> (size_t pos)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#5b185a9167ef8b6e44ea608fd858dcbc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#9782bc47ae71e19c461aeb8077d0bede">set_pvalue</a> (double d)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Mutators, protected for use by friend classes only. <a href="#9782bc47ae71e19c461aeb8077d0bede"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#3000d74e49497db616a5273a1a9c8b05">set_relay</a> (<a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> relay)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#3000d74e49497db616a5273a1a9c8b05"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#8fe7de524be35146a9453473138b9c0f">set_custody</a> (<a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> custody)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#8fe7de524be35146a9453473138b9c0f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#aded851dec9a724734930e46589113a2">set_internet_gw</a> (<a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> gw)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#aded851dec9a724734930e46589113a2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#89f3c19b326af535d569e2f2659b599c">set_dest_id</a> (const std::string &eid)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#89f3c19b326af535d569e2f2659b599c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#03500725883d2184950f61c93bd4f751">set_age</a> (u_int32_t age)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#03500725883d2184950f61c93bd4f751"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#81474d8376b1a420f9876cf15af603e6">set_params</a> (const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> *params)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">} <a href="#81474d8376b1a420f9876cf15af603e6"></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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#75459afed7dcff2374e6c31b05f08dc8">Node</a> (const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> *params=NULL)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#75459afed7dcff2374e6c31b05f08dc8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#b94bd68e88c62f107e822fa4792d8ba1">Node</a> (const <a class="el" href="classprophet_1_1Node.html">Node</a> &node)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#b94bd68e88c62f107e822fa4792d8ba1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#26e78daa3c227387dc2ce2592ba9106c">Node</a> (const std::string &dest_id, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> relay=<a class="el" href="classprophet_1_1Node.html#001f6d13d658e508a4a065d689b74fe3">DEFAULT_RELAY</a>, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> custody=<a class="el" href="classprophet_1_1Node.html#8c16b001d6a0028ccec12540d4348203">DEFAULT_CUSTODY</a>, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> internet=<a class="el" href="classprophet_1_1Node.html#9a789b306d56aa744100b7b7cbca2937">DEFAULT_INTERNET</a>, const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> *params=NULL)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#26e78daa3c227387dc2ce2592ba9106c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#f598e85c6a112c073971276f5ef6ffe7">~Node</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#f598e85c6a112c073971276f5ef6ffe7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1Node.html">Node</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#f24a38e98a4660fbe6f059c9ded7e1e3">operator=</a> (const <a class="el" href="classprophet_1_1Node.html">Node</a> &n)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <a href="#f24a38e98a4660fbe6f059c9ded7e1e3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#9365eb7dd51b5d164e40beec48922e22">update_pvalue</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Apply the direct contact algorithm, p. <a href="#9365eb7dd51b5d164e40beec48922e22"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#8c01707e283dc0c3b69bd4f6786a4cb6">update_transitive</a> (double ab, double bc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Apply transitive algorithm, where ab is p_value from local to peer, bc is p_value from peer to this node, p. <a href="#8c01707e283dc0c3b69bd4f6786a4cb6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#71b04fb6a94d2ad69945624e80185684">update_age</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Routes must decrease predictability with the passing of time, p. <a href="#71b04fb6a94d2ad69945624e80185684"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#97b1dbf4d60d48b5ffc8d7022a3708b7">p_value</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#97b1dbf4d60d48b5ffc8d7022a3708b7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#0c4ef32bed5fa9595df25d24d4090ffc">relay</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#0c4ef32bed5fa9595df25d24d4090ffc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#30c2f606e0860b283bea16d79e1d5747">custody</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#30c2f606e0860b283bea16d79e1d5747"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#f960607d5799557a90155780683e5be3">internet_gw</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#f960607d5799557a90155780683e5be3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#4c423ba83a417f43615a087bf52127e9">dest_id</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#4c423ba83a417f43615a087bf52127e9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#203a4a3557ffec82595fe2ddce4fd9ab">age</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#203a4a3557ffec82595fe2ddce4fd9ab"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#3c184f84a2984f0bd2c0a3479b461f46">params</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#3c184f84a2984f0bd2c0a3479b461f46"></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 <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#001f6d13d658e508a4a065d689b74fe3">DEFAULT_RELAY</a> = true</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#8c16b001d6a0028ccec12540d4348203">DEFAULT_CUSTODY</a> = true</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#9a789b306d56aa744100b7b7cbca2937">DEFAULT_INTERNET</a> = false</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#6bddbda80b7a4f77f1d7c29000818c08">time_to_units</a> (u_int32_t diff) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Use <a class="el" href="structprophet_1_1NodeParams.html#6420360f31061f42258f36e49b7e9922" title="milliseconds per unit time, aging algorithm">NodeParams::kappa_</a> milliseconds per unit to convert diff to time units for use in Equation 2. <a href="#6bddbda80b7a4f77f1d7c29000818c08"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#f83ac1e7a06422170af65f1e129a6324">params_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">global settings for all <a class="el" href="namespaceprophet.html">prophet</a> nodes <a href="#f83ac1e7a06422170af65f1e129a6324"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#3c7049d0e318cb9ad1dbecb4aea32d13">p_value_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">predictability value for this node <a href="#3c7049d0e318cb9ad1dbecb4aea32d13"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#a9c374bd403cce3a2f302fb85815225b">relay_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">whether this node acts as relay <a href="#a9c374bd403cce3a2f302fb85815225b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#aed787be763e9c079022852749599b7e">custody_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">whether this node accepts custody txfr <a href="#aed787be763e9c079022852749599b7e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#df5e3e63e03991c7528c78aa0fa3cb85">internet_gateway_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">whether bridge to Internet <a href="#df5e3e63e03991c7528c78aa0fa3cb85"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#37978147b84bbb9bd2cb9b0135620fd9">dest_id_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">string representation of route to node <a href="#37978147b84bbb9bd2cb9b0135620fd9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#78e6ca0a6340e2c8a624652c4885a596">age_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">age in seconds of last update to p_value <a href="#78e6ca0a6340e2c8a624652c4885a596"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Node.html#e53ea58de68128e0b384f24d19265525">heap_pos_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">heap index used by <a class="el" href="classprophet_1_1Table.html" title="Container for Prophet nodes (routes and predictability values).">Table</a> <a href="#e53ea58de68128e0b384f24d19265525"></a><br></td></tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="75459afed7dcff2374e6c31b05f08dc8"></a><!-- doxytag: member="prophet::Node::Node" ref="75459afed7dcff2374e6c31b05f08dc8" args="(const NodeParams *params=NULL)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">prophet::Node::Node </td> <td>(</td> <td class="paramtype">const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> * </td> <td class="paramname"> <em>params</em> = <code>NULL</code> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Default constructor. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00036">36</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> </div> </div><p> <a class="anchor" name="b94bd68e88c62f107e822fa4792d8ba1"></a><!-- doxytag: member="prophet::Node::Node" ref="b94bd68e88c62f107e822fa4792d8ba1" args="(const Node &node)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">prophet::Node::Node </td> <td>(</td> <td class="paramtype">const <a class="el" href="classprophet_1_1Node.html">Node</a> & </td> <td class="paramname"> <em>node</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00051">51</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> </div> </div><p> <a class="anchor" name="26e78daa3c227387dc2ce2592ba9106c"></a><!-- doxytag: member="prophet::Node::Node" ref="26e78daa3c227387dc2ce2592ba9106c" args="(const std::string &dest_id, bool relay=DEFAULT_RELAY, bool custody=DEFAULT_CUSTODY, bool internet=DEFAULT_INTERNET, const NodeParams *params=NULL)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">prophet::Node::Node </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>dest_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td> <td class="paramname"> <em>relay</em> = <code><a class="el" href="classprophet_1_1Node.html#001f6d13d658e508a4a065d689b74fe3">DEFAULT_RELAY</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td> <td class="paramname"> <em>custody</em> = <code><a class="el" href="classprophet_1_1Node.html#8c16b001d6a0028ccec12540d4348203">DEFAULT_CUSTODY</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td> <td class="paramname"> <em>internet</em> = <code><a class="el" href="classprophet_1_1Node.html#9a789b306d56aa744100b7b7cbca2937">DEFAULT_INTERNET</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> * </td> <td class="paramname"> <em>params</em> = <code>NULL</code></td><td> </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="servlib_2prophet_2Node_8cc-source.html#l00060">60</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> </div> </div><p> <a class="anchor" name="f598e85c6a112c073971276f5ef6ffe7"></a><!-- doxytag: member="prophet::Node::~Node" ref="f598e85c6a112c073971276f5ef6ffe7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">prophet::Node::~Node </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00078">78</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="97b1dbf4d60d48b5ffc8d7022a3708b7"></a><!-- doxytag: member="prophet::Node::p_value" ref="97b1dbf4d60d48b5ffc8d7022a3708b7" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double prophet::Node::p_value </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00110">110</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00193">p_value_</a>.</p> <p>Referenced by <a class="el" href="ProphetNodeList_8cc-source.html#l00035">dtn::ProphetNodeList::load()</a>, <a class="el" href="Table_8cc-source.html#l00090">prophet::Table::p_value()</a>, <a class="el" href="RIBTLV_8cc-source.html#l00040">prophet::RIBTLV::serialize()</a>, <a class="el" href="Table_8cc-source.html#l00320">prophet::Table::truncate()</a>, <a class="el" href="Table_8cc-source.html#l00112">prophet::Table::update()</a>, <a class="el" href="ProphetNodeList_8cc-source.html#l00057">dtn::ProphetNodeList::update()</a>, <a class="el" href="Table_8cc-source.html#l00158">prophet::Table::update_route()</a>, and <a class="el" href="Table_8cc-source.html#l00200">prophet::Table::update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="0c4ef32bed5fa9595df25d24d4090ffc"></a><!-- doxytag: member="prophet::Node::relay" ref="0c4ef32bed5fa9595df25d24d4090ffc" 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::Node::relay </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00111">111</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00194">relay_</a>.</p> <p>Referenced by <a class="el" href="ProphetNodeList_8cc-source.html#l00035">dtn::ProphetNodeList::load()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">prophet::RIBTLV::serialize()</a>.</p> </div> </div><p> <a class="anchor" name="30c2f606e0860b283bea16d79e1d5747"></a><!-- doxytag: member="prophet::Node::custody" ref="30c2f606e0860b283bea16d79e1d5747" 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::Node::custody </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00112">112</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00195">custody_</a>.</p> <p>Referenced by <a class="el" href="ProphetNodeList_8cc-source.html#l00035">dtn::ProphetNodeList::load()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">prophet::RIBTLV::serialize()</a>.</p> </div> </div><p> <a class="anchor" name="f960607d5799557a90155780683e5be3"></a><!-- doxytag: member="prophet::Node::internet_gw" ref="f960607d5799557a90155780683e5be3" 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::Node::internet_gw </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00113">113</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00196">internet_gateway_</a>.</p> <p>Referenced by <a class="el" href="ProphetNodeList_8cc-source.html#l00035">dtn::ProphetNodeList::load()</a>, and <a class="el" href="RIBTLV_8cc-source.html#l00040">prophet::RIBTLV::serialize()</a>.</p> </div> </div><p> <a class="anchor" name="4c423ba83a417f43615a087bf52127e9"></a><!-- doxytag: member="prophet::Node::dest_id" ref="4c423ba83a417f43615a087bf52127e9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* prophet::Node::dest_id </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00114">114</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00197">dest_id_</a>.</p> <p>Referenced by <a class="el" href="ProphetStore_8cc-source.html#l00080">dtn::ProphetStore::del()</a>, <a class="el" href="ProphetNodeList_8cc-source.html#l00084">dtn::ProphetNodeList::del()</a>, <a class="el" href="Table_8cc-source.html#l00460">prophet::Table::enforce_quota()</a>, <a class="el" href="ProphetNodeList_8cc-source.html#l00035">dtn::ProphetNodeList::load()</a>, <a class="el" href="Table_8cc-source.html#l00320">prophet::Table::truncate()</a>, <a class="el" href="Table_8cc-source.html#l00112">prophet::Table::update()</a>, <a class="el" href="ProphetNodeList_8cc-source.html#l00057">dtn::ProphetNodeList::update()</a>, <a class="el" href="Table_8cc-source.html#l00158">prophet::Table::update_route()</a>, and <a class="el" href="Table_8cc-source.html#l00200">prophet::Table::update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="203a4a3557ffec82595fe2ddce4fd9ab"></a><!-- doxytag: member="prophet::Node::age" ref="203a4a3557ffec82595fe2ddce4fd9ab" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t prophet::Node::age </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00115">115</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>.</p> <p>Referenced by <a class="el" href="ProphetNodeList_8cc-source.html#l00035">dtn::ProphetNodeList::load()</a>.</p> </div> </div><p> <a class="anchor" name="3c184f84a2984f0bd2c0a3479b461f46"></a><!-- doxytag: member="prophet::Node::params" ref="3c184f84a2984f0bd2c0a3479b461f46" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a>* prophet::Node::params </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00116">116</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> </div> </div><p> <a class="anchor" name="f24a38e98a4660fbe6f059c9ded7e1e3"></a><!-- doxytag: member="prophet::Node::operator=" ref="f24a38e98a4660fbe6f059c9ded7e1e3" args="(const Node &n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1Node.html">Node</a>& prophet::Node::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classprophet_1_1Node.html">Node</a> & </td> <td class="paramname"> <em>n</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Assignment operator. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">122</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00195">custody_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00197">dest_id_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00199">heap_pos_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00196">internet_gateway_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00193">p_value_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00194">relay_</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00235">prophet::RIBNode::operator=()</a>.</p> </div> </div><p> <a class="anchor" name="9365eb7dd51b5d164e40beec48922e22"></a><!-- doxytag: member="prophet::Node::update_pvalue" ref="9365eb7dd51b5d164e40beec48922e22" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::update_pvalue </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Apply the direct contact algorithm, p. <p> 9, 2.1.1, eq. 1 <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00084">84</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00067">prophet::NodeParams::encounter_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00193">p_value_</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> <p>Referenced by <a class="el" href="Table_8cc-source.html#l00158">prophet::Table::update_route()</a>.</p> </div> </div><p> <a class="anchor" name="8c01707e283dc0c3b69bd4f6786a4cb6"></a><!-- doxytag: member="prophet::Node::update_transitive" ref="8c01707e283dc0c3b69bd4f6786a4cb6" args="(double ab, double bc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::update_transitive </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>ab</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>bc</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Apply transitive algorithm, where ab is p_value from local to peer, bc is p_value from peer to this node, p. <p> 10, 2.1.1, eq. 3 <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00101">101</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00068">prophet::NodeParams::beta_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00067">prophet::NodeParams::encounter_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00193">p_value_</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> <p>Referenced by <a class="el" href="Table_8cc-source.html#l00200">prophet::Table::update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="71b04fb6a94d2ad69945624e80185684"></a><!-- doxytag: member="prophet::Node::update_age" ref="71b04fb6a94d2ad69945624e80185684" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::update_age </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Routes must decrease predictability with the passing of time, p. <p> 9, 2.1.1, eq. 2 <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00122">122</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00069">prophet::NodeParams::gamma_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00193">p_value_</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>, and <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00146">time_to_units()</a>.</p> <p>Referenced by <a class="el" href="Table_8cc-source.html#l00424">prophet::Table::age_nodes()</a>.</p> </div> </div><p> <a class="anchor" name="417321bce127dbf863a0c0b7a9afabdc"></a><!-- doxytag: member="prophet::Node::heap_pos" ref="417321bce127dbf863a0c0b7a9afabdc" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t prophet::Node::heap_pos </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessor and mutator for heap index used by <a class="el" href="classprophet_1_1Table.html" title="Container for Prophet nodes (routes and predictability values).">Table</a> and testing. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00154">154</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00199">heap_pos_</a>.</p> </div> </div><p> <a class="anchor" name="5b185a9167ef8b6e44ea608fd858dcbc"></a><!-- doxytag: member="prophet::Node::set_heap_pos" ref="5b185a9167ef8b6e44ea608fd858dcbc" args="(size_t pos)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::set_heap_pos </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"> <em>pos</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00155">155</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00199">heap_pos_</a>.</p> <p>Referenced by <a class="el" href="Table_8h-source.html#l00047">prophet::heap_pos::operator()()</a>.</p> </div> </div><p> <a class="anchor" name="9782bc47ae71e19c461aeb8077d0bede"></a><!-- doxytag: member="prophet::Node::set_pvalue" ref="9782bc47ae71e19c461aeb8077d0bede" args="(double d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::set_pvalue </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>d</em> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Mutators, protected for use by friend classes only. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00163">163</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00193">p_value_</a>.</p> <p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">prophet::RIBTLV::deserialize()</a>.</p> </div> </div><p> <a class="anchor" name="3000d74e49497db616a5273a1a9c8b05"></a><!-- doxytag: member="prophet::Node::set_relay" ref="3000d74e49497db616a5273a1a9c8b05" args="(bool relay)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::set_relay </td> <td>(</td> <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td> <td class="paramname"> <em>relay</em> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00167">167</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00194">relay_</a>.</p> <p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">prophet::RIBTLV::deserialize()</a>, <a class="el" href="Table_8cc-source.html#l00158">prophet::Table::update_route()</a>, and <a class="el" href="Table_8cc-source.html#l00200">prophet::Table::update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="8fe7de524be35146a9453473138b9c0f"></a><!-- doxytag: member="prophet::Node::set_custody" ref="8fe7de524be35146a9453473138b9c0f" args="(bool custody)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::set_custody </td> <td>(</td> <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td> <td class="paramname"> <em>custody</em> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00168">168</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00195">custody_</a>.</p> <p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">prophet::RIBTLV::deserialize()</a>, <a class="el" href="Table_8cc-source.html#l00158">prophet::Table::update_route()</a>, and <a class="el" href="Table_8cc-source.html#l00200">prophet::Table::update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="aded851dec9a724734930e46589113a2"></a><!-- doxytag: member="prophet::Node::set_internet_gw" ref="aded851dec9a724734930e46589113a2" args="(bool gw)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::set_internet_gw </td> <td>(</td> <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td> <td class="paramname"> <em>gw</em> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00169">169</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00196">internet_gateway_</a>.</p> <p>Referenced by <a class="el" href="RIBTLV_8cc-source.html#l00153">prophet::RIBTLV::deserialize()</a>, <a class="el" href="Table_8cc-source.html#l00158">prophet::Table::update_route()</a>, and <a class="el" href="Table_8cc-source.html#l00200">prophet::Table::update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="89f3c19b326af535d569e2f2659b599c"></a><!-- doxytag: member="prophet::Node::set_dest_id" ref="89f3c19b326af535d569e2f2659b599c" args="(const std::string &eid)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void prophet::Node::set_dest_id </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>eid</em> </td> <td> ) </td> <td><code> [inline, protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00170">170</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00197">dest_id_</a>.</p> <p>Referenced by <a class="el" href="Table_8cc-source.html#l00383">prophet::Table::assign()</a>, <a class="el" href="ProphetNode_8cc-source.html#l00051">dtn::ProphetNode::serialize()</a>, and <a class="el" href="ProphetNode_8h-source.html#l00091">dtn::ProphetNode::set_eid()</a>.</p> </div> </div><p> <a class="anchor" name="03500725883d2184950f61c93bd4f751"></a><!-- doxytag: member="prophet::Node::set_age" ref="03500725883d2184950f61c93bd4f751" args="(u_int32_t age)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::set_age </td> <td>(</td> <td class="paramtype">u_int32_t </td> <td class="paramname"> <em>age</em> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00174">174</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">age_</a>.</p> </div> </div><p> <a class="anchor" name="81474d8376b1a420f9876cf15af603e6"></a><!-- doxytag: member="prophet::Node::set_params" ref="81474d8376b1a420f9876cf15af603e6" args="(const NodeParams *params)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Node::set_params </td> <td>(</td> <td class="paramtype">const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a> * </td> <td class="paramname"> <em>params</em> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00175">175</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> <p>Referenced by <a class="el" href="Table_8cc-source.html#l00401">prophet::Table::assign()</a>.</p> </div> </div><p> <a class="anchor" name="6bddbda80b7a4f77f1d7c29000818c08"></a><!-- doxytag: member="prophet::Node::time_to_units" ref="6bddbda80b7a4f77f1d7c29000818c08" args="(u_int32_t diff) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int prophet::Node::time_to_units </td> <td>(</td> <td class="paramtype">u_int32_t </td> <td class="paramname"> <em>diff</em> </td> <td> ) </td> <td> const<code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Use <a class="el" href="structprophet_1_1NodeParams.html#6420360f31061f42258f36e49b7e9922" title="milliseconds per unit time, aging algorithm">NodeParams::kappa_</a> milliseconds per unit to convert diff to time units for use in Equation 2. <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00146">146</a> of file <a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a>.</p> <p>References <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00070">prophet::NodeParams::kappa_</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">params_</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00122">update_age()</a>.</p> </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="f888815e80064bc9fa1035c6265da86e"></a><!-- doxytag: member="prophet::Node::Table" ref="f888815e80064bc9fa1035c6265da86e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="classprophet_1_1Table.html">Table</a><code> [friend]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00159">159</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> </div> </div><p> <a class="anchor" name="1ea496252513ca245fd09748f43f4e27"></a><!-- doxytag: member="prophet::Node::RIBTLV" ref="1ea496252513ca245fd09748f43f4e27" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="classprophet_1_1RIBTLV.html">RIBTLV</a><code> [friend]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> } <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00160">160</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="001f6d13d658e508a4a065d689b74fe3"></a><!-- doxytag: member="prophet::Node::DEFAULT_RELAY" ref="001f6d13d658e508a4a065d689b74fe3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classprophet_1_1Node.html#001f6d13d658e508a4a065d689b74fe3">prophet::Node::DEFAULT_RELAY</a> = true<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00082">82</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> </div> </div><p> <a class="anchor" name="8c16b001d6a0028ccec12540d4348203"></a><!-- doxytag: member="prophet::Node::DEFAULT_CUSTODY" ref="8c16b001d6a0028ccec12540d4348203" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classprophet_1_1Node.html#8c16b001d6a0028ccec12540d4348203">prophet::Node::DEFAULT_CUSTODY</a> = true<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00083">83</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> </div> </div><p> <a class="anchor" name="9a789b306d56aa744100b7b7cbca2937"></a><!-- doxytag: member="prophet::Node::DEFAULT_INTERNET" ref="9a789b306d56aa744100b7b7cbca2937" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classprophet_1_1Node.html#9a789b306d56aa744100b7b7cbca2937">prophet::Node::DEFAULT_INTERNET</a> = false<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00084">84</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> </div> </div><p> <a class="anchor" name="f83ac1e7a06422170af65f1e129a6324"></a><!-- doxytag: member="prophet::Node::params_" ref="f83ac1e7a06422170af65f1e129a6324" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structprophet_1_1NodeParams.html">NodeParams</a>* <a class="el" href="classprophet_1_1Node.html#f83ac1e7a06422170af65f1e129a6324">prophet::Node::params_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> global settings for all <a class="el" href="namespaceprophet.html">prophet</a> nodes <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00192">192</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00036">Node()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00116">params()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00175">set_params()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00146">time_to_units()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00122">update_age()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00084">update_pvalue()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00101">update_transitive()</a>, and <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00078">~Node()</a>.</p> </div> </div><p> <a class="anchor" name="3c7049d0e318cb9ad1dbecb4aea32d13"></a><!-- doxytag: member="prophet::Node::p_value_" ref="3c7049d0e318cb9ad1dbecb4aea32d13" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="classprophet_1_1Node.html#3c7049d0e318cb9ad1dbecb4aea32d13">prophet::Node::p_value_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> predictability value for this node <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00193">193</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00110">p_value()</a>, <a class="el" href="ProphetNode_8cc-source.html#l00051">dtn::ProphetNode::serialize()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00163">set_pvalue()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00122">update_age()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00084">update_pvalue()</a>, and <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00101">update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="a9c374bd403cce3a2f302fb85815225b"></a><!-- doxytag: member="prophet::Node::relay_" ref="a9c374bd403cce3a2f302fb85815225b" 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_1Node.html#a9c374bd403cce3a2f302fb85815225b">prophet::Node::relay_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> whether this node acts as relay <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00194">194</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00111">relay()</a>, <a class="el" href="ProphetNode_8cc-source.html#l00051">dtn::ProphetNode::serialize()</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00167">set_relay()</a>.</p> </div> </div><p> <a class="anchor" name="aed787be763e9c079022852749599b7e"></a><!-- doxytag: member="prophet::Node::custody_" ref="aed787be763e9c079022852749599b7e" 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_1Node.html#aed787be763e9c079022852749599b7e">prophet::Node::custody_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> whether this node accepts custody txfr <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00195">195</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00112">custody()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, <a class="el" href="ProphetNode_8cc-source.html#l00051">dtn::ProphetNode::serialize()</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00168">set_custody()</a>.</p> </div> </div><p> <a class="anchor" name="df5e3e63e03991c7528c78aa0fa3cb85"></a><!-- doxytag: member="prophet::Node::internet_gateway_" ref="df5e3e63e03991c7528c78aa0fa3cb85" 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_1Node.html#df5e3e63e03991c7528c78aa0fa3cb85">prophet::Node::internet_gateway_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> whether bridge to Internet <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00196">196</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00113">internet_gw()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, <a class="el" href="ProphetNode_8cc-source.html#l00051">dtn::ProphetNode::serialize()</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00169">set_internet_gw()</a>.</p> </div> </div><p> <a class="anchor" name="37978147b84bbb9bd2cb9b0135620fd9"></a><!-- doxytag: member="prophet::Node::dest_id_" ref="37978147b84bbb9bd2cb9b0135620fd9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string <a class="el" href="classprophet_1_1Node.html#37978147b84bbb9bd2cb9b0135620fd9">prophet::Node::dest_id_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> string representation of route to node <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00197">197</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00114">dest_id()</a>, <a class="el" href="Table_8cc-source.html#l00063">prophet::Table::heap_del()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, <a class="el" href="ProphetNode_8h-source.html#l00059">dtn::ProphetNode::remote_eid()</a>, <a class="el" href="ProphetNode_8cc-source.html#l00051">dtn::ProphetNode::serialize()</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00170">set_dest_id()</a>.</p> </div> </div><p> <a class="anchor" name="78e6ca0a6340e2c8a624652c4885a596"></a><!-- doxytag: member="prophet::Node::age_" ref="78e6ca0a6340e2c8a624652c4885a596" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t <a class="el" href="classprophet_1_1Node.html#78e6ca0a6340e2c8a624652c4885a596">prophet::Node::age_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> age in seconds of last update to p_value <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00198">198</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00115">age()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00036">Node()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, <a class="el" href="ProphetNode_8cc-source.html#l00051">dtn::ProphetNode::serialize()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00174">set_age()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00122">update_age()</a>, <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00084">update_pvalue()</a>, and <a class="el" href="servlib_2prophet_2Node_8cc-source.html#l00101">update_transitive()</a>.</p> </div> </div><p> <a class="anchor" name="e53ea58de68128e0b384f24d19265525"></a><!-- doxytag: member="prophet::Node::heap_pos_" ref="e53ea58de68128e0b384f24d19265525" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t <a class="el" href="classprophet_1_1Node.html#e53ea58de68128e0b384f24d19265525">prophet::Node::heap_pos_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> heap index used by <a class="el" href="classprophet_1_1Table.html" title="Container for Prophet nodes (routes and predictability values).">Table</a> <p> <p>Definition at line <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00199">199</a> of file <a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a>.</p> <p>Referenced by <a class="el" href="Table_8cc-source.html#l00063">prophet::Table::heap_del()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00154">heap_pos()</a>, <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00122">operator=()</a>, and <a class="el" href="servlib_2prophet_2Node_8h-source.html#l00155">set_heap_pos()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="servlib_2prophet_2Node_8h-source.html">servlib/prophet/Node.h</a><li><a class="el" href="servlib_2prophet_2Node_8cc-source.html">servlib/prophet/Node.cc</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 21 14:09:56 2008 for DTN Reference Implementation by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>