Sophie

Sophie

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

libdtn-devel-2.6.0-2mdv2009.1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>DTN Reference Implementation: ProphetTLV.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>ProphetTLV.h</h1><a href="ProphetTLV_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> *    Copyright 2007 Baylor University</span>
<a name="l00003"></a>00003 <span class="comment"> * </span>
<a name="l00004"></a>00004 <span class="comment"> *    Licensed under the Apache License, Version 2.0 (the "License");</span>
<a name="l00005"></a>00005 <span class="comment"> *    you may not use this file except in compliance with the License.</span>
<a name="l00006"></a>00006 <span class="comment"> *    You may obtain a copy of the License at</span>
<a name="l00007"></a>00007 <span class="comment"> * </span>
<a name="l00008"></a>00008 <span class="comment"> *        http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00009"></a>00009 <span class="comment"> * </span>
<a name="l00010"></a>00010 <span class="comment"> *    Unless required by applicable law or agreed to in writing, software</span>
<a name="l00011"></a>00011 <span class="comment"> *    distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00012"></a>00012 <span class="comment"> *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00013"></a>00013 <span class="comment"> *    See the License for the specific language governing permissions and</span>
<a name="l00014"></a>00014 <span class="comment"> *    limitations under the License.</span>
<a name="l00015"></a>00015 <span class="comment"> */</span>
<a name="l00016"></a>00016 
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef _PROPHET_TLV_H_</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define _PROPHET_TLV_H_</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;list&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="BaseTLV_8h.html">BaseTLV.h</a>"</span>
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="keyword">namespace </span>prophet {
<a name="l00025"></a>00025 
<a name="l00026"></a><a class="code" href="classprophet_1_1ProphetTLV.html">00026</a> <span class="keyword">class </span><a class="code" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a> 
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">public</span>:
<a name="l00029"></a><a class="code" href="classprophet_1_1ProphetTLV.html#0f8dde72bcb27f853577d40c8c55e9ab">00029</a>     <span class="keyword">typedef</span> std::list&lt;BaseTLV*&gt; <a class="code" href="classprophet_1_1ProphetTLV.html#0f8dde72bcb27f853577d40c8c55e9ab">List</a>;
<a name="l00030"></a><a class="code" href="classprophet_1_1ProphetTLV.html#f9d02d9a43c726344e5fd4454b10248f">00030</a>     <span class="keyword">typedef</span> std::list&lt;BaseTLV*&gt;::iterator <a class="code" href="classprophet_1_1ProphetTLV.html#f9d02d9a43c726344e5fd4454b10248f">iterator</a>;
<a name="l00031"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8f32d86d9a6895255507bc316687330e">00031</a>     <span class="keyword">typedef</span> std::list&lt;BaseTLV*&gt;::const_iterator <a class="code" href="classprophet_1_1ProphetTLV.html#8f32d86d9a6895255507bc316687330e">const_iterator</a>;
<a name="l00032"></a>00032 
<a name="l00037"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html">00037</a>     <span class="keyword">struct </span><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html" title="Header Definition p.">ProphetHeader</a> {
<a name="l00038"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#78926b93e6ea4e360ffdab8cf46c24dd">00038</a>         u_int8_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#78926b93e6ea4e360ffdab8cf46c24dd" title="This version of the PRoPHET Protocol = 1.">version</a>; 
<a name="l00039"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#a176e0483e0d2787a8f511fe3c3a8ec1">00039</a>         u_int8_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#a176e0483e0d2787a8f511fe3c3a8ec1" title="TBD.">flags</a>; 
<a name="l00040"></a>00040 
<a name="l00070"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#4fb75a06d41e250c589f15da9d6a5e79">00070</a>         u_int8_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#4fb75a06d41e250c589f15da9d6a5e79" title="Field that is used to indicate whether a response is required to the request message...">result</a>;
<a name="l00089"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#54bd2a3d93895cccc3bd6defae1099cc">00089</a>         u_int8_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#54bd2a3d93895cccc3bd6defae1099cc" title="Field gives further information concerning the result in a response message.">code</a>;
<a name="l00105"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#83b7b89d87997fb770fa04eddabec350">00105</a>         u_int16_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#83b7b89d87997fb770fa04eddabec350" title="For messages during the Hello phase with the Hello SYN, Hello SYNACK, and Hello ACK...">sender_instance</a>;
<a name="l00120"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#acff2ef85ea793081b0e853e658ac438">00120</a>         u_int16_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#acff2ef85ea793081b0e853e658ac438" title="For messages during the Hello phase with the Hello SYN, Hello SYNACK, and Hello ACK...">receiver_instance</a>;
<a name="l00127"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#d5bc7f1caa6386e1ff19c5e1c3c55135">00127</a>         u_int32_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#d5bc7f1caa6386e1ff19c5e1c3c55135" title="Used to associate a message with its response message.">transaction_id</a>;
<a name="l00136"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#ec5c0c81380555747fd6fd2855ef0a64">00136</a>         u_int16_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#ec5c0c81380555747fd6fd2855ef0a64" title="If S is set then the SubMessage Number field indicates the total number of SubMessage...">submessage_flag</a>:1;
<a name="l00145"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#c247cbd2076e7c0d5036a6154ab0f41a">00145</a>         u_int16_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#c247cbd2076e7c0d5036a6154ab0f41a" title="When a message is segmented because it exceeds the MTU of the link layer, each segment...">submessage_num</a>:15;
<a name="l00151"></a><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#866e230b9ea5df8e61d98dd791b833e1">00151</a>         u_int16_t <a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html#866e230b9ea5df8e61d98dd791b833e1" title="Length in octets of this message including headers and message body.">length</a>;
<a name="l00152"></a>00152     } __attribute__((<a class="code" href="classprophet_1_1ProphetTLV.html#0679dde2d412c5ac5923c39c5c532c0d" title="Header Definition p.">packed</a>));
<a name="l00153"></a>00153 
<a name="l00158"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274">00158</a>     <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00159"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274be04098e4287d8d31ec403986a6462f3">00159</a>         <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274be04098e4287d8d31ec403986a6462f3">UnknownResult</a> = 0x0,
<a name="l00160"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c2749c93217fcbdbee38f439bcef5a4dd647">00160</a>         <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c2749c93217fcbdbee38f439bcef5a4dd647">NoSuccessAck</a>  = 0x1,
<a name="l00161"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c27455035e4b54cdb330f165bb9c38e6a08e">00161</a>         <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c27455035e4b54cdb330f165bb9c38e6a08e">AckAll</a>        = 0x2,
<a name="l00162"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274b2923d8ea097c2be982cad9856b15dae">00162</a>         <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274b2923d8ea097c2be982cad9856b15dae">Success</a>       = 0x3,
<a name="l00163"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c27473047ceb98cf9e68553c6f1645fb79d4">00163</a>         <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c27473047ceb98cf9e68553c6f1645fb79d4">Failure</a>       = 0x4,
<a name="l00164"></a><a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274cbf56fac0787607dcc3006e276358932">00164</a>         <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274cbf56fac0787607dcc3006e276358932">ReturnReceipt</a> = 0x5
<a name="l00165"></a>00165     } <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274" title="Legal values for ProphetHeader.result field p.">header_result_t</a>;
<a name="l00166"></a>00166 
<a name="l00167"></a><a class="code" href="classprophet_1_1ProphetTLV.html#3a8d9c3d3763364ffe7ab755fabf522f">00167</a>     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="classprophet_1_1ProphetTLV.html#3a8d9c3d3763364ffe7ab755fabf522f">ProphetHeaderSize</a> = <span class="keyword">sizeof</span>(<span class="keyword">struct </span><a class="code" href="structprophet_1_1ProphetTLV_1_1ProphetHeader.html" title="Header Definition p.">ProphetHeader</a>);
<a name="l00168"></a>00168 
<a name="l00172"></a><a class="code" href="classprophet_1_1ProphetTLV.html#4f32bb7e11b85a1b4431eafd24bc6484">00172</a>     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classprophet_1_1ProphetTLV.html#4f32bb7e11b85a1b4431eafd24bc6484" title="Pretty print function for header_result_t.">result_to_str</a>(<a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274" title="Legal values for ProphetHeader.result field p.">header_result_t</a> hr)
<a name="l00173"></a>00173     {
<a name="l00174"></a>00174         <span class="keywordflow">switch</span>(hr) {
<a name="l00175"></a>00175             <span class="keywordflow">case</span> <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c2749c93217fcbdbee38f439bcef5a4dd647">NoSuccessAck</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"NoSuccessAck"</span>;
<a name="l00176"></a>00176             <span class="keywordflow">case</span> <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c27455035e4b54cdb330f165bb9c38e6a08e">AckAll</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"AckAll"</span>;
<a name="l00177"></a>00177             <span class="keywordflow">case</span> <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274b2923d8ea097c2be982cad9856b15dae">Success</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"Success"</span>;
<a name="l00178"></a>00178             <span class="keywordflow">case</span> <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c27473047ceb98cf9e68553c6f1645fb79d4">Failure</a>:       <span class="keywordflow">return</span> <span class="stringliteral">"Failure"</span>;
<a name="l00179"></a>00179             <span class="keywordflow">case</span> <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274cbf56fac0787607dcc3006e276358932">ReturnReceipt</a>: <span class="keywordflow">return</span> <span class="stringliteral">"ReturnReceipt"</span>;
<a name="l00180"></a>00180             <span class="keywordflow">case</span> <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274be04098e4287d8d31ec403986a6462f3">UnknownResult</a>:
<a name="l00181"></a>00181             <span class="keywordflow">default</span>:            <span class="keywordflow">return</span> <span class="stringliteral">"Unknown header result"</span>;
<a name="l00182"></a>00182         }
<a name="l00183"></a>00183     }
<a name="l00184"></a>00184 
<a name="l00188"></a>00188     <a class="code" href="classprophet_1_1ProphetTLV.html#f4bc4ce27f0db6efac6f4c6e6dd569d9">ProphetTLV</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="dtnmoteproxy_8c.html#e1ade0f5a1b32f6c8be72f31a99e2a18">src</a>,
<a name="l00189"></a>00189                <span class="keyword">const</span> std::string&amp; dst,
<a name="l00190"></a>00190                <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274" title="Legal values for ProphetHeader.result field p.">header_result_t</a> <a class="code" href="classprophet_1_1ProphetTLV.html#a5e916df769f557c1d1c4e07287b52f8" title="Accessors.">result</a>,
<a name="l00191"></a>00191                u_int16_t local_instance,
<a name="l00192"></a>00192                u_int16_t remote_instance,
<a name="l00193"></a>00193                u_int32_t tid);
<a name="l00194"></a>00194 
<a name="l00198"></a>00198     <a class="code" href="classprophet_1_1ProphetTLV.html#f4bc4ce27f0db6efac6f4c6e6dd569d9">ProphetTLV</a>(<span class="keyword">const</span> <a class="code" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a>&amp; tlv);
<a name="l00199"></a>00199 
<a name="l00203"></a>00203     <span class="keyword">virtual</span> <a class="code" href="classprophet_1_1ProphetTLV.html#cf13c3a9cc9321a621e76dea681ae2cc" title="Destructor.">~ProphetTLV</a>();
<a name="l00204"></a>00204 
<a name="l00209"></a>00209     <span class="keywordtype">size_t</span> <a class="code" href="classprophet_1_1ProphetTLV.html#e6ac3c3c15db1d7e12c98a9f96a29b7e" title="Write ProphetTLV out to no more than len bytes of buffer; return bytes written.">serialize</a>(u_char* bp, <span class="keywordtype">size_t</span> <a class="code" href="num2sdnv_8c.html#fed088663f8704004425cdae2120b9b3">len</a>) <span class="keyword">const</span>;
<a name="l00210"></a>00210 
<a name="l00215"></a>00215     <span class="keyword">static</span> <a class="code" href="classprophet_1_1ProphetTLV.html">ProphetTLV</a>* <a class="code" href="classprophet_1_1ProphetTLV.html#dd264b57f9575d3af5a5c7e1e3414bcf" title="Read ProphetTLV in from no more than len bytes of buffer; return bytes read.">deserialize</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="dtnmoteproxy_8c.html#e1ade0f5a1b32f6c8be72f31a99e2a18">src</a>,
<a name="l00216"></a>00216                                    <span class="keyword">const</span> std::string&amp; dst,
<a name="l00217"></a>00217                                    <span class="keyword">const</span> u_char* bp, <span class="keywordtype">size_t</span> <a class="code" href="num2sdnv_8c.html#fed088663f8704004425cdae2120b9b3">len</a>);
<a name="l00218"></a>00218 
<a name="l00224"></a>00224     <span class="keywordtype">bool</span> <a class="code" href="classprophet_1_1ProphetTLV.html#b77f5471a0a55f685d1bfbfd8f57c78f" title="Place TLV on list for serialization into next outbound ProphetTLV.">add_tlv</a>(<a class="code" href="classprophet_1_1BaseTLV.html" title="The Prophet I-D (March 2006) dictates five bytecodes for router state exchange messages...">BaseTLV</a>* tlv);
<a name="l00225"></a>00225 
<a name="l00230"></a>00230     <a class="code" href="classprophet_1_1BaseTLV.html" title="The Prophet I-D (March 2006) dictates five bytecodes for router state exchange messages...">BaseTLV</a>* <a class="code" href="classprophet_1_1ProphetTLV.html#65e794043a4ff3a74906b901e7b6dabf" title="Remove next TLV from list.">get_tlv</a>();
<a name="l00231"></a>00231 
<a name="l00233"></a><a class="code" href="classprophet_1_1ProphetTLV.html#4f21d505541a7b591befb1c36fe6eb81">00233</a>     <span class="keyword">const</span> std::string&amp; <a class="code" href="classprophet_1_1ProphetTLV.html#4f21d505541a7b591befb1c36fe6eb81" title="Accessors.">source</a>()<span class="keyword">         const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#e6b7fa9fb743044e2f09366cbbfb4199" title="destination id for TLV source (from Bundle metadata)">src_</a>; }
<a name="l00234"></a><a class="code" href="classprophet_1_1ProphetTLV.html#5cd7cc1a094e68e4b0e75720a64a62fe">00234</a>     <span class="keyword">const</span> std::string&amp; <a class="code" href="classprophet_1_1ProphetTLV.html#5cd7cc1a094e68e4b0e75720a64a62fe" title="Accessors.">destination</a>()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#e40801aa7f49ddab1ad25c37701f9f47" title="destination id for TLV destination (from Bundle &amp;quot;)">dst_</a>; }
<a name="l00235"></a><a class="code" href="classprophet_1_1ProphetTLV.html#a5e916df769f557c1d1c4e07287b52f8">00235</a>     <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274" title="Legal values for ProphetHeader.result field p.">header_result_t</a> <a class="code" href="classprophet_1_1ProphetTLV.html#a5e916df769f557c1d1c4e07287b52f8" title="Accessors.">result</a>()<span class="keyword">            const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#70c7e729beb6adfadcdfeba0c0d66e48" title="Disposition of this Prophet TLV.">result_</a>; }
<a name="l00236"></a><a class="code" href="classprophet_1_1ProphetTLV.html#21c2499f5966b166e19fe0793a360452">00236</a>     u_int16_t       <a class="code" href="classprophet_1_1ProphetTLV.html#21c2499f5966b166e19fe0793a360452" title="Accessors.">sender_instance</a>()<span class="keyword">   const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#a5c646fb585272d478dde3b33459412c" title="Local node&amp;#39;s index for this encounter.">sender_instance_</a>; }
<a name="l00237"></a><a class="code" href="classprophet_1_1ProphetTLV.html#3c3358826b39fca2315d1563c0771cbc">00237</a>     u_int16_t       <a class="code" href="classprophet_1_1ProphetTLV.html#3c3358826b39fca2315d1563c0771cbc" title="Accessors.">receiver_instance</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#753213cd2699f81fafb1b611660257b1" title="Peer&amp;#39;s index for this encounter.">receiver_instance_</a>; }
<a name="l00238"></a><a class="code" href="classprophet_1_1ProphetTLV.html#0319b74a485e7a45ba9dca32123f30ec">00238</a>     u_int32_t       <a class="code" href="classprophet_1_1ProphetTLV.html#0319b74a485e7a45ba9dca32123f30ec" title="Accessors.">transaction_id</a>()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#4a89f5a792bb50f1b24980058245d3e8" title="Transaction ID for this TLV.">tid_</a>; }
<a name="l00239"></a><a class="code" href="classprophet_1_1ProphetTLV.html#d7db52bd400f104c35e6473464f957b3">00239</a>     u_int16_t       <a class="code" href="classprophet_1_1ProphetTLV.html#d7db52bd400f104c35e6473464f957b3" title="Accessors.">length</a>()<span class="keyword">            const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#47f93a2a8a1b1fe7615ce69c438cdcdf" title="Serialized length of this TLV.">length_</a>; }
<a name="l00240"></a><a class="code" href="classprophet_1_1ProphetTLV.html#6ae63c1c1f0f3d634ffc2de2ae9e44aa">00240</a>     <span class="keywordtype">size_t</span>          <a class="code" href="classprophet_1_1ProphetTLV.html#6ae63c1c1f0f3d634ffc2de2ae9e44aa" title="Accessors.">size</a>()<span class="keyword">              const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#4a730ffc2e7ddd7639445d05c78f7a9d" title="Linked list of TLVs embedded in this Prophet TLV.">list_</a>.size(); }
<a name="l00241"></a><a class="code" href="classprophet_1_1ProphetTLV.html#51d2582d3275b5ff93ada17cc6f90b97">00241</a>     <span class="keyword">const</span> <a class="code" href="classprophet_1_1ProphetTLV.html#0f8dde72bcb27f853577d40c8c55e9ab">List</a>&amp;     <a class="code" href="classprophet_1_1ProphetTLV.html#51d2582d3275b5ff93ada17cc6f90b97" title="Accessors.">list</a>()<span class="keyword">              const </span>{ <span class="keywordflow">return</span> <a class="code" href="classprophet_1_1ProphetTLV.html#4a730ffc2e7ddd7639445d05c78f7a9d" title="Linked list of TLVs embedded in this Prophet TLV.">list_</a>; }
<a name="l00243"></a>00243 
<a name="l00244"></a>00244 <span class="keyword">protected</span>:
<a name="l00245"></a>00245     <a class="code" href="classprophet_1_1ProphetTLV.html#f4bc4ce27f0db6efac6f4c6e6dd569d9">ProphetTLV</a>();
<a name="l00246"></a>00246 
<a name="l00247"></a><a class="code" href="classprophet_1_1ProphetTLV.html#e6b7fa9fb743044e2f09366cbbfb4199">00247</a>     std::string <a class="code" href="classprophet_1_1ProphetTLV.html#e6b7fa9fb743044e2f09366cbbfb4199" title="destination id for TLV source (from Bundle metadata)">src_</a>; 
<a name="l00248"></a><a class="code" href="classprophet_1_1ProphetTLV.html#e40801aa7f49ddab1ad25c37701f9f47">00248</a>     std::string <a class="code" href="classprophet_1_1ProphetTLV.html#e40801aa7f49ddab1ad25c37701f9f47" title="destination id for TLV destination (from Bundle &amp;quot;)">dst_</a>; 
<a name="l00249"></a><a class="code" href="classprophet_1_1ProphetTLV.html#70c7e729beb6adfadcdfeba0c0d66e48">00249</a>     <a class="code" href="classprophet_1_1ProphetTLV.html#8612aff33b50bae0e7005ef59d14c274" title="Legal values for ProphetHeader.result field p.">header_result_t</a> <a class="code" href="classprophet_1_1ProphetTLV.html#70c7e729beb6adfadcdfeba0c0d66e48" title="Disposition of this Prophet TLV.">result_</a>; 
<a name="l00250"></a><a class="code" href="classprophet_1_1ProphetTLV.html#a5c646fb585272d478dde3b33459412c">00250</a>     u_int16_t <a class="code" href="classprophet_1_1ProphetTLV.html#a5c646fb585272d478dde3b33459412c" title="Local node&amp;#39;s index for this encounter.">sender_instance_</a>; 
<a name="l00251"></a><a class="code" href="classprophet_1_1ProphetTLV.html#753213cd2699f81fafb1b611660257b1">00251</a>     u_int16_t <a class="code" href="classprophet_1_1ProphetTLV.html#753213cd2699f81fafb1b611660257b1" title="Peer&amp;#39;s index for this encounter.">receiver_instance_</a>; 
<a name="l00252"></a><a class="code" href="classprophet_1_1ProphetTLV.html#4a89f5a792bb50f1b24980058245d3e8">00252</a>     u_int32_t <a class="code" href="classprophet_1_1ProphetTLV.html#4a89f5a792bb50f1b24980058245d3e8" title="Transaction ID for this TLV.">tid_</a>; 
<a name="l00253"></a><a class="code" href="classprophet_1_1ProphetTLV.html#47f93a2a8a1b1fe7615ce69c438cdcdf">00253</a>     <span class="keyword">mutable</span> u_int16_t <a class="code" href="classprophet_1_1ProphetTLV.html#47f93a2a8a1b1fe7615ce69c438cdcdf" title="Serialized length of this TLV.">length_</a>; 
<a name="l00254"></a><a class="code" href="classprophet_1_1ProphetTLV.html#4a730ffc2e7ddd7639445d05c78f7a9d">00254</a>     <a class="code" href="classprophet_1_1ProphetTLV.html#0f8dde72bcb27f853577d40c8c55e9ab">List</a> <a class="code" href="classprophet_1_1ProphetTLV.html#4a730ffc2e7ddd7639445d05c78f7a9d" title="Linked list of TLVs embedded in this Prophet TLV.">list_</a>; 
<a name="l00255"></a>00255 
<a name="l00256"></a>00256 }; <span class="comment">// class ProphetTLV</span>
<a name="l00257"></a>00257 
<a name="l00258"></a>00258 }; <span class="comment">// namespace prophet</span>
<a name="l00259"></a>00259 <span class="preprocessor">#endif //  _PROPHET_TLV_H_</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:26:57 2009 for DTN Reference Implementation by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>