<!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::Encounter 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_1Encounter.html">Encounter</a> </div> </div> <div class="contents"> <h1>prophet::Encounter Class Reference</h1><!-- doxytag: class="prophet::Encounter" --><!-- doxytag: inherits="prophet::ExpirationHandler" --><code>#include <<a class="el" href="Encounter_8h-source.html">Encounter.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for prophet::Encounter:</div> <div class="dynsection"> <p><center><img src="classprophet_1_1Encounter.png" usemap="#prophet::Encounter_map" border="0" alt=""></center> <map name="prophet::Encounter_map"> <area href="classprophet_1_1ExpirationHandler.html" alt="prophet::ExpirationHandler" shape="rect" coords="0,0,162,24"> </map> </div> <p> <a href="classprophet_1_1Encounter-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Section 4.4.4, p. <p> 28 The Routing Information Base lists the destinations a node knows of, and the delivery predictabilities it has associated with them. This information is needed by the PRoPHET algorithm to make decisions on routing and forwarding.<p> Section 4.4.3, p. 27 The Routing Information Base <a class="el" href="classprophet_1_1Dictionary.html" title="Utility class to facilitate converting to and from routing string (endpoint ID) and...">Dictionary</a> includes the list of addresses used in making routing decisions. The referents remain constant for the duration of a session over a link where the instance numbers remain the same and can be used by both the Routing Information Base messages and the bundle offer messages.<p> Track the state for the Prophet protocol throughout the duration of this encounter between the local node and this remote. <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00050">50</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">state_t</a> { <br> <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9027f48b296abf32403088453ada0bff1">UNDEFINED_STATE</a> = 0, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb991e0b51df6976bcde8cf55212096505b">WAIT_NB</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9625f05a320efb933374cad2390964bb0">SYNSENT</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9ea2c59029f0c5239d6ccfa56fb6a36e5">SYNRCVD</a>, <br> <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9fd28ce91e2148046e9a00d468b743abe">ESTAB</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9e133553db2c9ad50813600fb7f9e93f9">WAIT_DICT</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9bd895d33497b53078b48643d9369809a">WAIT_RIB</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9ce6a178fe0a05e694a9cd1a80e16c98f">OFFER</a>, <br> <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9e6e32a2f17f2f660643c676819bf3643">CREATE_DR</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9f998c515d14b551a387bdd54d9c6cb77">SEND_DR</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb91bd327c1e52e42eaef2de441bc5b473d">REQUEST</a>, <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9e9b37829d98d7c80e51c873c5a314493">WAIT_INFO</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_1Encounter.html#9afbbeba17132b7bc958afa01d8de7a9">Encounter</a> (const <a class="el" href="classprophet_1_1Link.html">Link</a> *nexthop, Oracle *oracle, u_int16_t instance)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#9afbbeba17132b7bc958afa01d8de7a9"></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_1Encounter.html#6f7fe8f3099496fe39ff462b1c2675ea">Encounter</a> (const <a class="el" href="classprophet_1_1Encounter.html">Encounter</a> &e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#6f7fe8f3099496fe39ff462b1c2675ea"></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_1Encounter.html#9ee891179863b49c761ac032d18d1ce0">~Encounter</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#9ee891179863b49c761ac032d18d1ce0"></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_1Encounter.html#8dce4c9bb4cc1fc2efe909cf08f77e69">hello_interval_changed</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Callback to inform this instance that the hello_interval parameter has changed. <a href="#8dce4c9bb4cc1fc2efe909cf08f77e69"></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_1Encounter.html#3d3f02812aef29011d48dbbe591ed2f3">receive_tlv</a> (<a class="el" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a> *tlv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Callback for this instance to receive TLVs received from peer by the host bundling system. <a href="#3d3f02812aef29011d48dbbe591ed2f3"></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_1Encounter.html#ebc5ed549f612cf97e09f89bb784fec1">handle_timeout</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Callback for timeout handler, either due to peer failure or unacceptable delay in messaging. <a href="#ebc5ed549f612cf97e09f89bb784fec1"></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_1Encounter.html#1d62a8ce7eea8f426c5843689b880ca6">handle_bundle_received</a> (const <a class="el" href="classprophet_1_1Bundle.html">Bundle</a> *b)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Callback for tracking which <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation's Bundle representation...">Bundle</a> requests are outstanding. <a href="#1d62a8ce7eea8f426c5843689b880ca6"></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="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#23815b6de0c2fddf6050591865a8d28e">operator<</a> (const <a class="el" href="classprophet_1_1Encounter.html">Encounter</a> &e) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Operators. <a href="#23815b6de0c2fddf6050591865a8d28e"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#8b63d490e3cfe11c726e80aabdfdc358">remote_instance</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#8b63d490e3cfe11c726e80aabdfdc358"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#af1e90194d250d8d3d266b64ecb7120e">local_instance</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#af1e90194d250d8d3d266b64ecb7120e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#d8b0702cd9e4619442eea4d94a6ca7cf">remote_eid</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#d8b0702cd9e4619442eea4d94a6ca7cf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classprophet_1_1Link.html">Link</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#3938ffb4381ec57f28af815d9fe0d2c2">nexthop</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#3938ffb4381ec57f28af815d9fe0d2c2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">state_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#378c28e2475cd792805ad40aa5c003fe">state</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#378c28e2475cd792805ad40aa5c003fe"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#29afd890387d09c831daff5f9f986167">state_str</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#29afd890387d09c831daff5f9f986167"></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_1Encounter.html#bace35e3492f2fff444020cc619a8c43">neighbor_gone</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#bace35e3492f2fff444020cc619a8c43"></a><br></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_1Encounter.html#8086d7dc3698532fd920410ec13892c9">time_remaining</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#8086d7dc3698532fd920410ec13892c9"></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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#b24589d67c7f680718ced5815f51f555">state_to_str</a> (<a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">state_t</a> st)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></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="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#a61d73158f13d285348328ea06663e29">dispatch_tlv</a> (<a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> *tlv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">TLV event handlers. <a href="#a61d73158f13d285348328ea06663e29"></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_1Encounter.html#cfdcc4293d4c0d5b7d7b2210756b2017">handle_hello_tlv</a> (<a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> *hello)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">TLV event handlers. <a href="#cfdcc4293d4c0d5b7d7b2210756b2017"></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_1Encounter.html#297f041c3caed38713c7b17929413bab">handle_ribd_tlv</a> (<a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> *ribd)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">TLV event handlers. <a href="#297f041c3caed38713c7b17929413bab"></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_1Encounter.html#52e9cf2bbc6ebbdc4e5e9d60be5872b2">handle_rib_tlv</a> (<a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> *rib)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">TLV event handlers. <a href="#52e9cf2bbc6ebbdc4e5e9d60be5872b2"></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_1Encounter.html#33c6d357ceda1195e9178d42c3030f90">handle_offer_tlv</a> (<a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> *offer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">TLV event handlers. <a href="#33c6d357ceda1195e9178d42c3030f90"></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_1Encounter.html#b67d2d226d5dda9e658757230d19db6b">handle_response_tlv</a> (<a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> *response)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">TLV event handlers. <a href="#b67d2d226d5dda9e658757230d19db6b"></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="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#1e721a221679035f7d2f89198480cf2e">send_hello</a> (<a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">HelloTLV::hello_hf_t</a> hf, <a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Outbound message generators. <a href="#1e721a221679035f7d2f89198480cf2e"></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_1Encounter.html#46ab51230d1ee5896c45da39c28dbf81">send_dictionary_rib</a> (<a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Outbound message generators. <a href="#46ab51230d1ee5896c45da39c28dbf81"></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_1Encounter.html#1c8d26e2aa0a4915507096fe030f381e">send_offer</a> (<a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Outbound message generators. <a href="#1c8d26e2aa0a4915507096fe030f381e"></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_1Encounter.html#af173084198151f0ff6279aa2c6116a2">send_response</a> (<a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Outbound message generators. <a href="#af173084198151f0ff6279aa2c6116a2"></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_1Encounter.html#e33cc3f09c71a267362b86046dbb2b86">send_tlv</a> (<a class="el" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a> *tlv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Outbound message generators. <a href="#e33cc3f09c71a267362b86046dbb2b86"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">Oracle *const </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#76a46b0ad1fb086399ae22907fe48589">oracle_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">collection of Prophet information <a href="#76a46b0ad1fb086399ae22907fe48589"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#e978d161b459e4350fb4dd1acaeb0ddc">local_instance_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">local's instance for remote <a href="#e978d161b459e4350fb4dd1acaeb0ddc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#30722ad51662188f150b8114943d00d3">remote_instance_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">remote's instance for local <a href="#30722ad51662188f150b8114943d00d3"></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_1Encounter.html#7ba64ba005bcb359316fded654fc3883">tid_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">transaction id from peer's most recent TLV <a href="#7ba64ba005bcb359316fded654fc3883"></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_1Encounter.html#cdeaffb13c308a4e835f32d38a169840">next_tid_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">used to generate TID for outbound TLVs <a href="#cdeaffb13c308a4e835f32d38a169840"></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_1Encounter.html#20c93f4a52b104b0bd22241d9bd911e6">timeout_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">most milliseconds expected between TLVs <a href="#20c93f4a52b104b0bd22241d9bd911e6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classprophet_1_1Link.html">Link</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#7bf7fde97405ea98fd56a03277473f4b">next_hop_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classprophet_1_1Link.html">Link</a> object for this encounter. <a href="#7bf7fde97405ea98fd56a03277473f4b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#46fd749eff1748e5a9d1e5e6ac4ad287">tlv_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">most recent message received from peer <a href="#46fd749eff1748e5a9d1e5e6ac4ad287"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#b3bc25ef1299fe8f7eeb0c89d2d75cb2">synsender_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">whether active or passive during Hello phase <a href="#b3bc25ef1299fe8f7eeb0c89d2d75cb2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">state_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#6f07066a9979e1d49b13a7176d18f29d">state_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">which phase of Prophet protocol for this end <a href="#6f07066a9979e1d49b13a7176d18f29d"></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_1Encounter.html#1fbf82b8dadfefbfcce1098c1c243503">synsent_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">whether hello phase has sent SYN or SYNACK <a href="#1fbf82b8dadfefbfcce1098c1c243503"></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_1Encounter.html#e238b62757f4ee78b49f5276d1a48fe9">estab_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">whether hello phase has been completed <a href="#e238b62757f4ee78b49f5276d1a48fe9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">volatile <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#e9f139410992a56d81a29ecd577c942b">neighbor_gone_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">whether session has died <a href="#e9f139410992a56d81a29ecd577c942b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#c5202b80af6ce4c24c5a7040f4711630">local_ribd_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">16 bit index lookup to translate routes <a href="#c5202b80af6ce4c24c5a7040f4711630"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#c32d3450a3fd29393a36ccca72f6f4be">remote_ribd_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">16 bit index lookup for remote's routes <a href="#c32d3450a3fd29393a36ccca72f6f4be"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1BundleOfferList.html">BundleOfferList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#79d869e2ea45af225b17286e2d668215">remote_offers_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">in-memory rep of remote's offer <a href="#79d869e2ea45af225b17286e2d668215"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1BundleResponseList.html">BundleResponseList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#64f6afe27359158d10c144ea4fc9382b">local_response_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation's Bundle representation...">Bundle</a> requests sent to peer. <a href="#64f6afe27359158d10c144ea4fc9382b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1Table.html">Table</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#6381c030b727bd6ebf3be5a5d52c9548">remote_nodes_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">in-memory representation of remote's RIB <a href="#6381c030b727bd6ebf3be5a5d52c9548"></a><br></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_1Encounter.html#a4dc90bec21c7bf4f86d8a90c34194f5">hello_rate_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">simple flow control for Hello messages (ACK, etc) <a href="#a4dc90bec21c7bf4f86d8a90c34194f5"></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_1Encounter.html#3a20faebcc6db252a1a6a61d1fbda159">data_sent_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">timestamp of last TLV sent <a href="#3a20faebcc6db252a1a6a61d1fbda159"></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_1Encounter.html#a7c56932996f9ce6b5e277f98a047cef">data_rcvd_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">timestamp of last TLV received <a href="#a7c56932996f9ce6b5e277f98a047cef"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classprophet_1_1Alarm.html">Alarm</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classprophet_1_1Encounter.html#72d6bb97059b7a3f95da99df8d651104">alarm_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">callback registration for timeout handler <a href="#72d6bb97059b7a3f95da99df8d651104"></a><br></td></tr> </table> <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9"></a><!-- doxytag: member="prophet::Encounter::state_t" ref="292f67509d9bfe88204d5b2b5c671eb9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">prophet::Encounter::state_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9027f48b296abf32403088453ada0bff1"></a><!-- doxytag: member="UNDEFINED_STATE" ref="292f67509d9bfe88204d5b2b5c671eb9027f48b296abf32403088453ada0bff1" args="" -->UNDEFINED_STATE</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb991e0b51df6976bcde8cf55212096505b"></a><!-- doxytag: member="WAIT_NB" ref="292f67509d9bfe88204d5b2b5c671eb991e0b51df6976bcde8cf55212096505b" args="" -->WAIT_NB</em> </td><td> Waiting for Neighbor. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9625f05a320efb933374cad2390964bb0"></a><!-- doxytag: member="SYNSENT" ref="292f67509d9bfe88204d5b2b5c671eb9625f05a320efb933374cad2390964bb0" args="" -->SYNSENT</em> </td><td> Sent SYN, waiting for SYNACK. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9ea2c59029f0c5239d6ccfa56fb6a36e5"></a><!-- doxytag: member="SYNRCVD" ref="292f67509d9bfe88204d5b2b5c671eb9ea2c59029f0c5239d6ccfa56fb6a36e5" args="" -->SYNRCVD</em> </td><td> Received SYN, sent SYNACK, waiting for ACK. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9fd28ce91e2148046e9a00d468b743abe"></a><!-- doxytag: member="ESTAB" ref="292f67509d9bfe88204d5b2b5c671eb9fd28ce91e2148046e9a00d468b743abe" args="" -->ESTAB</em> </td><td> Prophet link established with remote. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9e133553db2c9ad50813600fb7f9e93f9"></a><!-- doxytag: member="WAIT_DICT" ref="292f67509d9bfe88204d5b2b5c671eb9e133553db2c9ad50813600fb7f9e93f9" args="" -->WAIT_DICT</em> </td><td> Listener mode of bundle-passing phase. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9bd895d33497b53078b48643d9369809a"></a><!-- doxytag: member="WAIT_RIB" ref="292f67509d9bfe88204d5b2b5c671eb9bd895d33497b53078b48643d9369809a" args="" -->WAIT_RIB</em> </td><td> Listener rcvd RIBD, waiting for RIB. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9ce6a178fe0a05e694a9cd1a80e16c98f"></a><!-- doxytag: member="OFFER" ref="292f67509d9bfe88204d5b2b5c671eb9ce6a178fe0a05e694a9cd1a80e16c98f" args="" -->OFFER</em> </td><td> Listener sent Offer, waiting for Request. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9e6e32a2f17f2f660643c676819bf3643"></a><!-- doxytag: member="CREATE_DR" ref="292f67509d9bfe88204d5b2b5c671eb9e6e32a2f17f2f660643c676819bf3643" args="" -->CREATE_DR</em> </td><td> Initiator creates and sends RIBD and RIB. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9f998c515d14b551a387bdd54d9c6cb77"></a><!-- doxytag: member="SEND_DR" ref="292f67509d9bfe88204d5b2b5c671eb9f998c515d14b551a387bdd54d9c6cb77" args="" -->SEND_DR</em> </td><td> Initiator sent RIBD and RIB, waiting for Offer. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb91bd327c1e52e42eaef2de441bc5b473d"></a><!-- doxytag: member="REQUEST" ref="292f67509d9bfe88204d5b2b5c671eb91bd327c1e52e42eaef2de441bc5b473d" args="" -->REQUEST</em> </td><td> Initiator sent Request, waiting for Bundles. </td></tr> <tr><td valign="top"><em><a class="anchor" name="292f67509d9bfe88204d5b2b5c671eb9e9b37829d98d7c80e51c873c5a314493"></a><!-- doxytag: member="WAIT_INFO" ref="292f67509d9bfe88204d5b2b5c671eb9e9b37829d98d7c80e51c873c5a314493" args="" -->WAIT_INFO</em> </td><td> All phases now complete, waiting for timer or ACK. </td></tr> </table> </dl> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00053">53</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="9afbbeba17132b7bc958afa01d8de7a9"></a><!-- doxytag: member="prophet::Encounter::Encounter" ref="9afbbeba17132b7bc958afa01d8de7a9" args="(const Link *nexthop, Oracle *oracle, u_int16_t instance)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">prophet::Encounter::Encounter </td> <td>(</td> <td class="paramtype">const <a class="el" href="classprophet_1_1Link.html">Link</a> * </td> <td class="paramname"> <em>nexthop</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Oracle * </td> <td class="paramname"> <em>oracle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int16_t </td> <td class="paramname"> <em>instance</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. <p> </div> </div><p> <a class="anchor" name="6f7fe8f3099496fe39ff462b1c2675ea"></a><!-- doxytag: member="prophet::Encounter::Encounter" ref="6f7fe8f3099496fe39ff462b1c2675ea" args="(const Encounter &e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">prophet::Encounter::Encounter </td> <td>(</td> <td class="paramtype">const <a class="el" href="classprophet_1_1Encounter.html">Encounter</a> & </td> <td class="paramname"> <em>e</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor. <p> </div> </div><p> <a class="anchor" name="9ee891179863b49c761ac032d18d1ce0"></a><!-- doxytag: member="prophet::Encounter::~Encounter" ref="9ee891179863b49c761ac032d18d1ce0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">prophet::Encounter::~Encounter </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="b24589d67c7f680718ced5815f51f555"></a><!-- doxytag: member="prophet::Encounter::state_to_str" ref="b24589d67c7f680718ced5815f51f555" args="(state_t st)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static const char* prophet::Encounter::state_to_str </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">state_t</a> </td> <td class="paramname"> <em>st</em> </td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00068">68</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="dtn__ipc_8c.html#6d24efd83036c2dde8d9100adb9abffd">CASE</a>, <a class="el" href="Encounter_8h-source.html#l00062">CREATE_DR</a>, <a class="el" href="Encounter_8h-source.html#l00058">ESTAB</a>, <a class="el" href="Encounter_8h-source.html#l00061">OFFER</a>, <a class="el" href="Encounter_8h-source.html#l00064">REQUEST</a>, <a class="el" href="Encounter_8h-source.html#l00063">SEND_DR</a>, <a class="el" href="Encounter_8h-source.html#l00057">SYNRCVD</a>, <a class="el" href="Encounter_8h-source.html#l00056">SYNSENT</a>, <a class="el" href="Encounter_8h-source.html#l00059">WAIT_DICT</a>, <a class="el" href="Encounter_8h-source.html#l00065">WAIT_INFO</a>, <a class="el" href="Encounter_8h-source.html#l00055">WAIT_NB</a>, and <a class="el" href="Encounter_8h-source.html#l00060">WAIT_RIB</a>.</p> <p>Referenced by <a class="el" href="Encounter_8h-source.html#l00114">state_str()</a>.</p> </div> </div><p> <a class="anchor" name="23815b6de0c2fddf6050591865a8d28e"></a><!-- doxytag: member="prophet::Encounter::operator<" ref="23815b6de0c2fddf6050591865a8d28e" args="(const Encounter &e) 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::Encounter::operator< </td> <td>(</td> <td class="paramtype">const <a class="el" href="classprophet_1_1Encounter.html">Encounter</a> & </td> <td class="paramname"> <em>e</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Operators. <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00102">102</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00172">remote_instance_</a>.</p> </div> </div><p> <a class="anchor" name="8b63d490e3cfe11c726e80aabdfdc358"></a><!-- doxytag: member="prophet::Encounter::remote_instance" ref="8b63d490e3cfe11c726e80aabdfdc358" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int16_t prophet::Encounter::remote_instance </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="Encounter_8h-source.html#l00109">109</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00172">remote_instance_</a>.</p> </div> </div><p> <a class="anchor" name="af1e90194d250d8d3d266b64ecb7120e"></a><!-- doxytag: member="prophet::Encounter::local_instance" ref="af1e90194d250d8d3d266b64ecb7120e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int16_t prophet::Encounter::local_instance </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="Encounter_8h-source.html#l00110">110</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00171">local_instance_</a>.</p> </div> </div><p> <a class="anchor" name="d8b0702cd9e4619442eea4d94a6ca7cf"></a><!-- doxytag: member="prophet::Encounter::remote_eid" ref="d8b0702cd9e4619442eea4d94a6ca7cf" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* prophet::Encounter::remote_eid </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="Encounter_8h-source.html#l00111">111</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00176">next_hop_</a>, and <a class="el" href="classprophet_1_1Link.html#4c7e5be6a49b400be9e07db823b7f301">prophet::Link::remote_eid()</a>.</p> </div> </div><p> <a class="anchor" name="3938ffb4381ec57f28af815d9fe0d2c2"></a><!-- doxytag: member="prophet::Encounter::nexthop" ref="3938ffb4381ec57f28af815d9fe0d2c2" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classprophet_1_1Link.html">Link</a>* prophet::Encounter::nexthop </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="Encounter_8h-source.html#l00112">112</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00176">next_hop_</a>.</p> </div> </div><p> <a class="anchor" name="378c28e2475cd792805ad40aa5c003fe"></a><!-- doxytag: member="prophet::Encounter::state" ref="378c28e2475cd792805ad40aa5c003fe" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">state_t</a> prophet::Encounter::state </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="Encounter_8h-source.html#l00113">113</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00179">state_</a>.</p> </div> </div><p> <a class="anchor" name="29afd890387d09c831daff5f9f986167"></a><!-- doxytag: member="prophet::Encounter::state_str" ref="29afd890387d09c831daff5f9f986167" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* prophet::Encounter::state_str </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="Encounter_8h-source.html#l00114">114</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00179">state_</a>, and <a class="el" href="Encounter_8h-source.html#l00068">state_to_str()</a>.</p> </div> </div><p> <a class="anchor" name="bace35e3492f2fff444020cc619a8c43"></a><!-- doxytag: member="prophet::Encounter::neighbor_gone" ref="bace35e3492f2fff444020cc619a8c43" 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::Encounter::neighbor_gone </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="Encounter_8h-source.html#l00115">115</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00182">neighbor_gone_</a>.</p> </div> </div><p> <a class="anchor" name="8086d7dc3698532fd920410ec13892c9"></a><!-- doxytag: member="prophet::Encounter::time_remaining" ref="8086d7dc3698532fd920410ec13892c9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int prophet::Encounter::time_remaining </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="Encounter_8h-source.html#l00116">116</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>References <a class="el" href="Encounter_8h-source.html#l00191">alarm_</a>, and <a class="el" href="classprophet_1_1Alarm.html#3304d46e4d44b59e1e2387c7c2f3bb07">prophet::Alarm::time_remaining()</a>.</p> </div> </div><p> <a class="anchor" name="8dce4c9bb4cc1fc2efe909cf08f77e69"></a><!-- doxytag: member="prophet::Encounter::hello_interval_changed" ref="8dce4c9bb4cc1fc2efe909cf08f77e69" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Encounter::hello_interval_changed </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Callback to inform this instance that the hello_interval parameter has changed. <p> </div> </div><p> <a class="anchor" name="3d3f02812aef29011d48dbbe591ed2f3"></a><!-- doxytag: member="prophet::Encounter::receive_tlv" ref="3d3f02812aef29011d48dbbe591ed2f3" args="(ProphetTLV *tlv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::receive_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a> * </td> <td class="paramname"> <em>tlv</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Callback for this instance to receive TLVs received from peer by the host bundling system. <p> <a class="el" href="classprophet_1_1Encounter.html" title="Section 4.4.4, p.">Encounter</a> assumes ownership of memory pointed to by tlv. Return true if message processed successfully. Return false upon fault (peering session died). </div> </div><p> <a class="anchor" name="ebc5ed549f612cf97e09f89bb784fec1"></a><!-- doxytag: member="prophet::Encounter::handle_timeout" ref="ebc5ed549f612cf97e09f89bb784fec1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Encounter::handle_timeout </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Callback for timeout handler, either due to peer failure or unacceptable delay in messaging. <p> <p>Implements <a class="el" href="classprophet_1_1ExpirationHandler.html#bbdbff285abd02df47b26ae6dab909c8">prophet::ExpirationHandler</a>.</p> </div> </div><p> <a class="anchor" name="1d62a8ce7eea8f426c5843689b880ca6"></a><!-- doxytag: member="prophet::Encounter::handle_bundle_received" ref="1d62a8ce7eea8f426c5843689b880ca6" args="(const Bundle *b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void prophet::Encounter::handle_bundle_received </td> <td>(</td> <td class="paramtype">const <a class="el" href="classprophet_1_1Bundle.html">Bundle</a> * </td> <td class="paramname"> <em>b</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Callback for tracking which <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation's Bundle representation...">Bundle</a> requests are outstanding. <p> </div> </div><p> <a class="anchor" name="a61d73158f13d285348328ea06663e29"></a><!-- doxytag: member="prophet::Encounter::dispatch_tlv" ref="a61d73158f13d285348328ea06663e29" args="(BaseTLV *tlv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::dispatch_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> * </td> <td class="paramname"> <em>tlv</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> TLV event handlers. <p> </div> </div><p> <a class="anchor" name="cfdcc4293d4c0d5b7d7b2210756b2017"></a><!-- doxytag: member="prophet::Encounter::handle_hello_tlv" ref="cfdcc4293d4c0d5b7d7b2210756b2017" args="(BaseTLV *hello)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::handle_hello_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> * </td> <td class="paramname"> <em>hello</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> TLV event handlers. <p> </div> </div><p> <a class="anchor" name="297f041c3caed38713c7b17929413bab"></a><!-- doxytag: member="prophet::Encounter::handle_ribd_tlv" ref="297f041c3caed38713c7b17929413bab" args="(BaseTLV *ribd)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::handle_ribd_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> * </td> <td class="paramname"> <em>ribd</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> TLV event handlers. <p> </div> </div><p> <a class="anchor" name="52e9cf2bbc6ebbdc4e5e9d60be5872b2"></a><!-- doxytag: member="prophet::Encounter::handle_rib_tlv" ref="52e9cf2bbc6ebbdc4e5e9d60be5872b2" args="(BaseTLV *rib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::handle_rib_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> * </td> <td class="paramname"> <em>rib</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> TLV event handlers. <p> </div> </div><p> <a class="anchor" name="33c6d357ceda1195e9178d42c3030f90"></a><!-- doxytag: member="prophet::Encounter::handle_offer_tlv" ref="33c6d357ceda1195e9178d42c3030f90" args="(BaseTLV *offer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::handle_offer_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> * </td> <td class="paramname"> <em>offer</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> TLV event handlers. <p> </div> </div><p> <a class="anchor" name="b67d2d226d5dda9e658757230d19db6b"></a><!-- doxytag: member="prophet::Encounter::handle_response_tlv" ref="b67d2d226d5dda9e658757230d19db6b" args="(BaseTLV *response)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::handle_response_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1BaseTLV.html">BaseTLV</a> * </td> <td class="paramname"> <em>response</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> TLV event handlers. <p> </div> </div><p> <a class="anchor" name="1e721a221679035f7d2f89198480cf2e"></a><!-- doxytag: member="prophet::Encounter::send_hello" ref="1e721a221679035f7d2f89198480cf2e" args="(HelloTLV::hello_hf_t hf, ProphetTLV::header_result_t hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::send_hello </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1HelloTLV.html#4b04d76a4e7cc392b21552173c2bba08">HelloTLV::hello_hf_t</a> </td> <td class="paramname"> <em>hf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> </td> <td class="paramname"> <em>hr</em> = <code>ProphetTLV::NoSuccessAck</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int32_t </td> <td class="paramname"> <em>tid</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Outbound message generators. <p> </div> </div><p> <a class="anchor" name="46ab51230d1ee5896c45da39c28dbf81"></a><!-- doxytag: member="prophet::Encounter::send_dictionary_rib" ref="46ab51230d1ee5896c45da39c28dbf81" args="(ProphetTLV::header_result_t hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::send_dictionary_rib </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> </td> <td class="paramname"> <em>hr</em> = <code>ProphetTLV::NoSuccessAck</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int32_t </td> <td class="paramname"> <em>tid</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Outbound message generators. <p> </div> </div><p> <a class="anchor" name="1c8d26e2aa0a4915507096fe030f381e"></a><!-- doxytag: member="prophet::Encounter::send_offer" ref="1c8d26e2aa0a4915507096fe030f381e" args="(ProphetTLV::header_result_t hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::send_offer </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> </td> <td class="paramname"> <em>hr</em> = <code>ProphetTLV::NoSuccessAck</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int32_t </td> <td class="paramname"> <em>tid</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Outbound message generators. <p> </div> </div><p> <a class="anchor" name="af173084198151f0ff6279aa2c6116a2"></a><!-- doxytag: member="prophet::Encounter::send_response" ref="af173084198151f0ff6279aa2c6116a2" args="(ProphetTLV::header_result_t hr=ProphetTLV::NoSuccessAck, u_int32_t tid=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::send_response </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">ProphetTLV::header_result_t</a> </td> <td class="paramname"> <em>hr</em> = <code>ProphetTLV::NoSuccessAck</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int32_t </td> <td class="paramname"> <em>tid</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Outbound message generators. <p> </div> </div><p> <a class="anchor" name="e33cc3f09c71a267362b86046dbb2b86"></a><!-- doxytag: member="prophet::Encounter::send_tlv" ref="e33cc3f09c71a267362b86046dbb2b86" args="(ProphetTLV *tlv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> prophet::Encounter::send_tlv </td> <td>(</td> <td class="paramtype"><a class="el" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a> * </td> <td class="paramname"> <em>tlv</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Outbound message generators. <p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="76a46b0ad1fb086399ae22907fe48589"></a><!-- doxytag: member="prophet::Encounter::oracle_" ref="76a46b0ad1fb086399ae22907fe48589" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Oracle* const <a class="el" href="classprophet_1_1Encounter.html#76a46b0ad1fb086399ae22907fe48589">prophet::Encounter::oracle_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> collection of Prophet information <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00170">170</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="e978d161b459e4350fb4dd1acaeb0ddc"></a><!-- doxytag: member="prophet::Encounter::local_instance_" ref="e978d161b459e4350fb4dd1acaeb0ddc" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int16_t <a class="el" href="classprophet_1_1Encounter.html#e978d161b459e4350fb4dd1acaeb0ddc">prophet::Encounter::local_instance_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> local's instance for remote <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00171">171</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>Referenced by <a class="el" href="Encounter_8h-source.html#l00110">local_instance()</a>.</p> </div> </div><p> <a class="anchor" name="30722ad51662188f150b8114943d00d3"></a><!-- doxytag: member="prophet::Encounter::remote_instance_" ref="30722ad51662188f150b8114943d00d3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int16_t <a class="el" href="classprophet_1_1Encounter.html#30722ad51662188f150b8114943d00d3">prophet::Encounter::remote_instance_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> remote's instance for local <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00172">172</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>Referenced by <a class="el" href="Encounter_8h-source.html#l00102">operator<()</a>, and <a class="el" href="Encounter_8h-source.html#l00109">remote_instance()</a>.</p> </div> </div><p> <a class="anchor" name="7ba64ba005bcb359316fded654fc3883"></a><!-- doxytag: member="prophet::Encounter::tid_" ref="7ba64ba005bcb359316fded654fc3883" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t <a class="el" href="classprophet_1_1Encounter.html#7ba64ba005bcb359316fded654fc3883">prophet::Encounter::tid_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> transaction id from peer's most recent TLV <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00173">173</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="cdeaffb13c308a4e835f32d38a169840"></a><!-- doxytag: member="prophet::Encounter::next_tid_" ref="cdeaffb13c308a4e835f32d38a169840" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t <a class="el" href="classprophet_1_1Encounter.html#cdeaffb13c308a4e835f32d38a169840">prophet::Encounter::next_tid_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> used to generate TID for outbound TLVs <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00174">174</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="20c93f4a52b104b0bd22241d9bd911e6"></a><!-- doxytag: member="prophet::Encounter::timeout_" ref="20c93f4a52b104b0bd22241d9bd911e6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t <a class="el" href="classprophet_1_1Encounter.html#20c93f4a52b104b0bd22241d9bd911e6">prophet::Encounter::timeout_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> most milliseconds expected between TLVs <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00175">175</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="7bf7fde97405ea98fd56a03277473f4b"></a><!-- doxytag: member="prophet::Encounter::next_hop_" ref="7bf7fde97405ea98fd56a03277473f4b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classprophet_1_1Link.html">Link</a>* <a class="el" href="classprophet_1_1Encounter.html#7bf7fde97405ea98fd56a03277473f4b">prophet::Encounter::next_hop_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <a class="el" href="classprophet_1_1Link.html">Link</a> object for this encounter. <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00176">176</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>Referenced by <a class="el" href="Encounter_8h-source.html#l00112">nexthop()</a>, and <a class="el" href="Encounter_8h-source.html#l00111">remote_eid()</a>.</p> </div> </div><p> <a class="anchor" name="46fd749eff1748e5a9d1e5e6ac4ad287"></a><!-- doxytag: member="prophet::Encounter::tlv_" ref="46fd749eff1748e5a9d1e5e6ac4ad287" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a>* <a class="el" href="classprophet_1_1Encounter.html#46fd749eff1748e5a9d1e5e6ac4ad287">prophet::Encounter::tlv_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> most recent message received from peer <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00177">177</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="b3bc25ef1299fe8f7eeb0c89d2d75cb2"></a><!-- doxytag: member="prophet::Encounter::synsender_" ref="b3bc25ef1299fe8f7eeb0c89d2d75cb2" 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_1Encounter.html#b3bc25ef1299fe8f7eeb0c89d2d75cb2">prophet::Encounter::synsender_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> whether active or passive during Hello phase <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00178">178</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="6f07066a9979e1d49b13a7176d18f29d"></a><!-- doxytag: member="prophet::Encounter::state_" ref="6f07066a9979e1d49b13a7176d18f29d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1Encounter.html#292f67509d9bfe88204d5b2b5c671eb9">state_t</a> <a class="el" href="classprophet_1_1Encounter.html#6f07066a9979e1d49b13a7176d18f29d">prophet::Encounter::state_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> which phase of Prophet protocol for this end <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00179">179</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>Referenced by <a class="el" href="Encounter_8h-source.html#l00113">state()</a>, and <a class="el" href="Encounter_8h-source.html#l00114">state_str()</a>.</p> </div> </div><p> <a class="anchor" name="1fbf82b8dadfefbfcce1098c1c243503"></a><!-- doxytag: member="prophet::Encounter::synsent_" ref="1fbf82b8dadfefbfcce1098c1c243503" 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_1Encounter.html#1fbf82b8dadfefbfcce1098c1c243503">prophet::Encounter::synsent_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> whether hello phase has sent SYN or SYNACK <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00180">180</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="e238b62757f4ee78b49f5276d1a48fe9"></a><!-- doxytag: member="prophet::Encounter::estab_" ref="e238b62757f4ee78b49f5276d1a48fe9" 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_1Encounter.html#e238b62757f4ee78b49f5276d1a48fe9">prophet::Encounter::estab_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> whether hello phase has been completed <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00181">181</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="e9f139410992a56d81a29ecd577c942b"></a><!-- doxytag: member="prophet::Encounter::neighbor_gone_" ref="e9f139410992a56d81a29ecd577c942b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">volatile <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classprophet_1_1Encounter.html#e9f139410992a56d81a29ecd577c942b">prophet::Encounter::neighbor_gone_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> whether session has died <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00182">182</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>Referenced by <a class="el" href="Encounter_8h-source.html#l00115">neighbor_gone()</a>.</p> </div> </div><p> <a class="anchor" name="c5202b80af6ce4c24c5a7040f4711630"></a><!-- doxytag: member="prophet::Encounter::local_ribd_" ref="c5202b80af6ce4c24c5a7040f4711630" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> <a class="el" href="classprophet_1_1Encounter.html#c5202b80af6ce4c24c5a7040f4711630">prophet::Encounter::local_ribd_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> 16 bit index lookup to translate routes <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00183">183</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="c32d3450a3fd29393a36ccca72f6f4be"></a><!-- doxytag: member="prophet::Encounter::remote_ribd_" ref="c32d3450a3fd29393a36ccca72f6f4be" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1Dictionary.html">Dictionary</a> <a class="el" href="classprophet_1_1Encounter.html#c32d3450a3fd29393a36ccca72f6f4be">prophet::Encounter::remote_ribd_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> 16 bit index lookup for remote's routes <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00184">184</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="79d869e2ea45af225b17286e2d668215"></a><!-- doxytag: member="prophet::Encounter::remote_offers_" ref="79d869e2ea45af225b17286e2d668215" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1BundleOfferList.html">BundleOfferList</a> <a class="el" href="classprophet_1_1Encounter.html#79d869e2ea45af225b17286e2d668215">prophet::Encounter::remote_offers_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> in-memory rep of remote's offer <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00185">185</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="64f6afe27359158d10c144ea4fc9382b"></a><!-- doxytag: member="prophet::Encounter::local_response_" ref="64f6afe27359158d10c144ea4fc9382b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1BundleResponseList.html">BundleResponseList</a> <a class="el" href="classprophet_1_1Encounter.html#64f6afe27359158d10c144ea4fc9382b">prophet::Encounter::local_response_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <a class="el" href="classprophet_1_1Bundle.html" title="Facade interface between Prophet router and host implmentation's Bundle representation...">Bundle</a> requests sent to peer. <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00186">186</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="6381c030b727bd6ebf3be5a5d52c9548"></a><!-- doxytag: member="prophet::Encounter::remote_nodes_" ref="6381c030b727bd6ebf3be5a5d52c9548" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1Table.html">Table</a> <a class="el" href="classprophet_1_1Encounter.html#6381c030b727bd6ebf3be5a5d52c9548">prophet::Encounter::remote_nodes_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> in-memory representation of remote's RIB <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00187">187</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="a4dc90bec21c7bf4f86d8a90c34194f5"></a><!-- doxytag: member="prophet::Encounter::hello_rate_" ref="a4dc90bec21c7bf4f86d8a90c34194f5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int <a class="el" href="classprophet_1_1Encounter.html#a4dc90bec21c7bf4f86d8a90c34194f5">prophet::Encounter::hello_rate_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> simple flow control for Hello messages (ACK, etc) <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00188">188</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="3a20faebcc6db252a1a6a61d1fbda159"></a><!-- doxytag: member="prophet::Encounter::data_sent_" ref="3a20faebcc6db252a1a6a61d1fbda159" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t <a class="el" href="classprophet_1_1Encounter.html#3a20faebcc6db252a1a6a61d1fbda159">prophet::Encounter::data_sent_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> timestamp of last TLV sent <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00189">189</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="a7c56932996f9ce6b5e277f98a047cef"></a><!-- doxytag: member="prophet::Encounter::data_rcvd_" ref="a7c56932996f9ce6b5e277f98a047cef" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t <a class="el" href="classprophet_1_1Encounter.html#a7c56932996f9ce6b5e277f98a047cef">prophet::Encounter::data_rcvd_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> timestamp of last TLV received <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00190">190</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> </div> </div><p> <a class="anchor" name="72d6bb97059b7a3f95da99df8d651104"></a><!-- doxytag: member="prophet::Encounter::alarm_" ref="72d6bb97059b7a3f95da99df8d651104" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classprophet_1_1Alarm.html">Alarm</a>* <a class="el" href="classprophet_1_1Encounter.html#72d6bb97059b7a3f95da99df8d651104">prophet::Encounter::alarm_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> callback registration for timeout handler <p> <p>Definition at line <a class="el" href="Encounter_8h-source.html#l00191">191</a> of file <a class="el" href="Encounter_8h-source.html">Encounter.h</a>.</p> <p>Referenced by <a class="el" href="Encounter_8h-source.html#l00116">time_remaining()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="Encounter_8h-source.html">Encounter.h</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>