Sophie

Sophie

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

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: Bundle.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>Bundle.h</h1><a href="bundling_2Bundle_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 2004-2006 Intel Corporation</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 _BUNDLE_H_</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define _BUNDLE_H_</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;sys/time.h&gt;</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;oasys/debug/Formatter.h&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;oasys/debug/DebugUtils.h&gt;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;oasys/serialize/Serialize.h&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;oasys/thread/SpinLock.h&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;oasys/util/StringBuffer.h&gt;</span>
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="BlockInfo_8h.html">BlockInfo.h</a>"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="BundleMappings_8h.html">BundleMappings.h</a>"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="BundlePayload_8h.html">BundlePayload.h</a>"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="BundleTimestamp_8h.html">BundleTimestamp.h</a>"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="CustodyTimer_8h.html">CustodyTimer.h</a>"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="ForwardingLog_8h.html">ForwardingLog.h</a>"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="MetadataBlock_8h.html">MetadataBlock.h</a>"</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="SequenceID_8h.html">SequenceID.h</a>"</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="EndpointID_8h.html">naming/EndpointID.h</a>"</span>
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 <span class="keyword">namespace </span>dtn {
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 <span class="keyword">class </span>BundleList;
<a name="l00041"></a>00041 <span class="keyword">class </span>BundleStore;
<a name="l00042"></a>00042 <span class="keyword">class </span>ExpirationTimer;
<a name="l00043"></a>00043 <span class="keyword">class </span>SQLBundleStore;
<a name="l00044"></a>00044 
<a name="l00066"></a><a class="code" href="classdtn_1_1Bundle.html">00066</a> <span class="keyword">class </span><a class="code" href="classdtn_1_1Bundle.html" title="The internal representation of a bundle.">Bundle</a> : <span class="keyword">public</span> oasys::<a class="code" href="classoasys_1_1Formatter.html">Formatter</a>, <span class="keyword">public</span> oasys::SerializableObject
<a name="l00067"></a>00067 {
<a name="l00068"></a>00068 <span class="keyword">public</span>:
<a name="l00077"></a>00077     <a class="code" href="classdtn_1_1Bundle.html#7ee2b18a3df14a90d4b1a26c770877f8" title="Default constructor to create an empty bundle, initializing all fields to defaults...">Bundle</a>(<a class="code" href="classdtn_1_1BundlePayload.html#f87102863631e39f673458a7527ae352" title="Options for payload location state.">BundlePayload::location_t</a> location = <a class="code" href="classdtn_1_1BundlePayload.html#f87102863631e39f673458a7527ae35202b4113a9944175cde826707be98e89e" title="in memory only (TempBundle)">BundlePayload::DISK</a>);
<a name="l00078"></a>00078 
<a name="l00082"></a>00082     <a class="code" href="classdtn_1_1Bundle.html#7ee2b18a3df14a90d4b1a26c770877f8" title="Default constructor to create an empty bundle, initializing all fields to defaults...">Bundle</a>(<span class="keyword">const</span> oasys::Builder&amp;);
<a name="l00083"></a>00083 
<a name="l00087"></a>00087     <span class="keyword">virtual</span> <a class="code" href="classdtn_1_1Bundle.html#51fcdc62f97df69501805cf1dba76ee4" title="Bundle destructor.">~Bundle</a>();
<a name="l00088"></a>00088 
<a name="l00093"></a>00093     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#659027ae11e78a7527b3e31e7ebf0eb1" title="Copy the metadata from one bundle to another (used in fragmentation).">copy_metadata</a>(<a class="code" href="classdtn_1_1Bundle.html" title="The internal representation of a bundle.">Bundle</a>* new_bundle) <span class="keyword">const</span>;
<a name="l00094"></a>00094 
<a name="l00098"></a>00098     <span class="keywordtype">int</span> <a class="code" href="classdtn_1_1Bundle.html#c06dd8a663890915ea37c250277b4810" title="Virtual from formatter.">format</a>(<span class="keywordtype">char</span>* <a class="code" href="num2sdnv_8c.html#a81cdcc7ff6987bc85c073253e32715f">buf</a>, <span class="keywordtype">size_t</span> sz) <span class="keyword">const</span>;
<a name="l00099"></a>00099     
<a name="l00103"></a>00103     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#9b410ec89fc28040e52d3b0892cd3694" title="Virtual from formatter.">format_verbose</a>(oasys::StringBuffer* buf);
<a name="l00104"></a>00104     
<a name="l00108"></a>00108     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#4d69d0b203471722f947069d7f85094a" title="Virtual from SerializableObject.">serialize</a>(oasys::SerializeAction* a);
<a name="l00109"></a>00109 
<a name="l00114"></a><a class="code" href="classdtn_1_1Bundle.html#30b57eafb1f0285a3c95dc37ff773349">00114</a>     u_int32_t <a class="code" href="classdtn_1_1Bundle.html#30b57eafb1f0285a3c95dc37ff773349" title="Hook for the generic durable table implementation to know what the key is for the...">durable_key</a>() { <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#351580b526d962c1e8bd730157b4c969" title="Local bundle identifier.">bundleid_</a>; }
<a name="l00115"></a>00115 
<a name="l00121"></a><a class="code" href="classdtn_1_1Bundle.html#cf6279b83a4c0addf41a8d7d33ab5dcd">00121</a>     <span class="keywordtype">size_t</span> <a class="code" href="classdtn_1_1Bundle.html#cf6279b83a4c0addf41a8d7d33ab5dcd" title="Hook for the bundle store implementation to count the storage impact of this bundle...">durable_size</a>() { <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#5240281e3072cc451bba55e716a3257e" title="Reference to the payload.">payload_</a>.<a class="code" href="classdtn_1_1BundlePayload.html#56b3851ad789c4dbf019a32d557b7453" title="The payload length.">length</a>(); }
<a name="l00122"></a>00122     
<a name="l00129"></a><a class="code" href="classdtn_1_1Bundle.html#3c2267a4f6f2dfed9dd01ffbf3703bb7">00129</a>     <span class="keywordtype">int</span> <a class="code" href="classdtn_1_1Bundle.html#3c2267a4f6f2dfed9dd01ffbf3703bb7" title="Return the bundle&amp;#39;s reference count, corresponding to the number of entries in...">refcount</a>() { <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#484370b532a1f328d3b2582af82cd2b6" title="Bundle reference count.">refcount_</a>; }
<a name="l00130"></a>00130 
<a name="l00136"></a>00136     <span class="keywordtype">int</span> <a class="code" href="classdtn_1_1Bundle.html#5c44263a2646f8e13115371b14f5359a" title="Bump up the reference count.">add_ref</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* what1, <span class="keyword">const</span> <span class="keywordtype">char</span>* what2 = <span class="stringliteral">""</span>);
<a name="l00137"></a>00137 
<a name="l00145"></a>00145     <span class="keywordtype">int</span> <a class="code" href="classdtn_1_1Bundle.html#386b3d36bfdbe4528b4fcaaf1078063c" title="Decrement the reference count.">del_ref</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* what1, <span class="keyword">const</span> <span class="keywordtype">char</span>* what2 = <span class="stringliteral">""</span>);
<a name="l00146"></a>00146 
<a name="l00150"></a>00150     <span class="keywordtype">size_t</span> <a class="code" href="classdtn_1_1Bundle.html#2b656a17b6971ca5a48819882cc1e659" title="Return the number of mappings for this bundle.">num_mappings</a>();
<a name="l00151"></a>00151 
<a name="l00156"></a>00156     <a class="code" href="classdtn_1_1BundleMappings.html" title="Class to define the set of mappings.">BundleMappings</a>* <a class="code" href="classdtn_1_1Bundle.html#00c8ac89d536bda8d596495e98064825" title="Return a pointer to the mappings.">mappings</a>();
<a name="l00157"></a>00157 
<a name="l00161"></a>00161     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#13d641b5d6a6617a8c37ab28a0a6c843" title="Return true if the bundle is on the given list.">is_queued_on</a>(<span class="keyword">const</span> <a class="code" href="classdtn_1_1BundleList.html" title="List structure for handling bundles.">BundleList</a>* l);
<a name="l00162"></a>00162 
<a name="l00166"></a>00166     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#0205e1c4938ecfd753295c61f2002a48" title="Validate the bundle&amp;#39;s fields.">validate</a>(oasys::StringBuffer* errbuf);
<a name="l00167"></a>00167 
<a name="l00171"></a><a class="code" href="classdtn_1_1Bundle.html#9630433ec71903457f7b1429daade560">00171</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#9630433ec71903457f7b1429daade560" title="True if any return receipt fields are set.">receipt_requested</a>()<span class="keyword"> const</span>
<a name="l00172"></a>00172 <span class="keyword">    </span>{
<a name="l00173"></a>00173         <span class="keywordflow">return</span> (<a class="code" href="classdtn_1_1Bundle.html#829a720ddcb9400c378ddccebab3ca45" title="Hop by hop reception receipt.">receive_rcpt_</a> || <a class="code" href="classdtn_1_1Bundle.html#a69eea94a81f88f3e5d8f2c2153a653b" title="Custody xfer reporting.">custody_rcpt_</a> || <a class="code" href="classdtn_1_1Bundle.html#b9af83a2e348628d03fef19721fe6d13" title="Hop by hop forwarding reporting.">forward_rcpt_</a> ||
<a name="l00174"></a>00174                 <a class="code" href="classdtn_1_1Bundle.html#cf37f1deb18cb25bbe6c4b949ce48b20" title="End-to-end delivery reporting.">delivery_rcpt_</a> || <a class="code" href="classdtn_1_1Bundle.html#89b45b4bd679a21fb8358f0dd934522d" title="Bundle deletion reporting.">deletion_rcpt_</a>);
<a name="l00175"></a>00175     }
<a name="l00176"></a>00176     
<a name="l00180"></a><a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64">00180</a>     <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00181"></a><a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e646fa0c342a18057585832e534b1225de2">00181</a>         <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e646fa0c342a18057585832e534b1225de2" title="invalid">COS_INVALID</a>   = -1,             
<a name="l00182"></a><a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64cdd03b2fd0d69a8085cbce1d8941690f">00182</a>         <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64cdd03b2fd0d69a8085cbce1d8941690f" title="lowest priority">COS_BULK</a>      = 0,              
<a name="l00183"></a><a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e649acfb0603df69344a00cae0aa885d78f">00183</a>         <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e649acfb0603df69344a00cae0aa885d78f" title="regular priority">COS_NORMAL</a>    = 1,              
<a name="l00184"></a><a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64ae2b7023d5a38cf3497e08a4db9e907d">00184</a>         <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64ae2b7023d5a38cf3497e08a4db9e907d" title="important">COS_EXPEDITED</a> = 2,              
<a name="l00185"></a><a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64123d2ad4cabef7586687ceb29200c537">00185</a>         <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64123d2ad4cabef7586687ceb29200c537" title="TBD.">COS_RESERVED</a>  = 3               
<a name="l00186"></a>00186     } <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64" title="Values for the bundle priority field.">priority_values_t</a>;
<a name="l00187"></a>00187 
<a name="l00191"></a><a class="code" href="classdtn_1_1Bundle.html#fc0c1e8d8c5e22ecedb83b613fddfa2a">00191</a>     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classdtn_1_1Bundle.html#fc0c1e8d8c5e22ecedb83b613fddfa2a" title="Pretty printer function for bundle_priority_t.">prioritytoa</a>(u_int8_t <a class="code" href="classdtn_1_1Bundle.html#06faa53f6a1ac201869c25c4c4af34f4" title="Accessors.">priority</a>) {
<a name="l00192"></a>00192         <span class="keywordflow">switch</span> (priority) {
<a name="l00193"></a>00193         <span class="keywordflow">case</span> <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64cdd03b2fd0d69a8085cbce1d8941690f" title="lowest priority">COS_BULK</a>:          <span class="keywordflow">return</span> <span class="stringliteral">"BULK"</span>;
<a name="l00194"></a>00194         <span class="keywordflow">case</span> <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e649acfb0603df69344a00cae0aa885d78f" title="regular priority">COS_NORMAL</a>:        <span class="keywordflow">return</span> <span class="stringliteral">"NORMAL"</span>;
<a name="l00195"></a>00195         <span class="keywordflow">case</span> <a class="code" href="classdtn_1_1Bundle.html#ee1ec0a9c045adc48dc8751f54f59e64ae2b7023d5a38cf3497e08a4db9e907d" title="important">COS_EXPEDITED</a>:     <span class="keywordflow">return</span> <span class="stringliteral">"EXPEDITED"</span>;
<a name="l00196"></a>00196         <span class="keywordflow">default</span>:                <span class="keywordflow">return</span> <span class="stringliteral">"_UNKNOWN_PRIORITY_"</span>;
<a name="l00197"></a>00197         }
<a name="l00198"></a>00198     }
<a name="l00199"></a>00199 
<a name="l00201"></a><a class="code" href="classdtn_1_1Bundle.html#7031e2e5e4078445bf4ad39cdcdea3b2">00201</a>     u_int32_t         <a class="code" href="classdtn_1_1Bundle.html#7031e2e5e4078445bf4ad39cdcdea3b2" title="Accessors.">bundleid</a>()<span class="keyword">          const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#351580b526d962c1e8bd730157b4c969" title="Local bundle identifier.">bundleid_</a>; }
<a name="l00202"></a><a class="code" href="classdtn_1_1Bundle.html#5152156c37574a7939c6b4740fa44c66">00202</a>     oasys::Lock*      <a class="code" href="classdtn_1_1Bundle.html#5152156c37574a7939c6b4740fa44c66" title="Accessors.">lock</a>()<span class="keyword">              const </span>{ <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#39fd05c48dca2e56883ad4d2b34d7a3e" title="Lock for bundle data that can be updated by multiple threads.">lock_</a>; }
<a name="l00203"></a><a class="code" href="classdtn_1_1Bundle.html#b20ca8b6179e9d103e4239df6191ca61">00203</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#b20ca8b6179e9d103e4239df6191ca61" title="Accessors.">expired</a>()<span class="keyword">           const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#04c759563bcaca145ebce02539c2f677" title="The expiration timer.">expiration_timer_</a> == NULL; }
<a name="l00204"></a><a class="code" href="classdtn_1_1Bundle.html#2dae8a97270a95799acf45d859eaf866">00204</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#2dae8a97270a95799acf45d859eaf866" title="Accessors.">source</a>()<span class="keyword">            const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#e0ee1519e799770d83ba4b07d724b192" title="Source eid.">source_</a>; }
<a name="l00205"></a><a class="code" href="classdtn_1_1Bundle.html#507241e8ac766e1900009ed6243e2aa3">00205</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#507241e8ac766e1900009ed6243e2aa3" title="Accessors.">dest</a>()<span class="keyword">              const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#73bebd0daef752d8bf0212e9e79dbeec" title="Destination eid.">dest_</a>; }
<a name="l00206"></a><a class="code" href="classdtn_1_1Bundle.html#eb68ec729851c7e7221fe7cb61f19875">00206</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#eb68ec729851c7e7221fe7cb61f19875" title="Accessors.">custodian</a>()<span class="keyword">         const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#a45715369147ab506c5500f89276f7a6" title="Current custodian eid.">custodian_</a>; }
<a name="l00207"></a><a class="code" href="classdtn_1_1Bundle.html#a2ffacc40d2afe751142e9fd64ab5fdf">00207</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#a2ffacc40d2afe751142e9fd64ab5fdf" title="Accessors.">replyto</a>()<span class="keyword">           const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#6bfeb5c4a39936ecb34c554ea0aa1d24" title="Reply-To eid.">replyto_</a>; }
<a name="l00208"></a><a class="code" href="classdtn_1_1Bundle.html#04a51974754438d555bf8a7b0216cd38">00208</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#04a51974754438d555bf8a7b0216cd38" title="Accessors.">prevhop</a>()<span class="keyword">           const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#68efefda51e6feddb8c45aa51dd7b8b4" title="Previous hop eid.">prevhop_</a>; }
<a name="l00209"></a><a class="code" href="classdtn_1_1Bundle.html#d6c74eba219bfe55854cf7a90e210cca">00209</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#d6c74eba219bfe55854cf7a90e210cca" title="Accessors.">is_fragment</a>()<span class="keyword">       const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#c26e4f31ba03473e0a2169f98940ab01" title="Fragmentary Bundle.">is_fragment_</a>; }
<a name="l00210"></a><a class="code" href="classdtn_1_1Bundle.html#839db0b56b61020d9f2b3878e6c2d34a">00210</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#839db0b56b61020d9f2b3878e6c2d34a" title="Accessors.">is_admin</a>()<span class="keyword">          const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#e303a30810b8050718234f8057913aa2" title="Administrative record bundle.">is_admin_</a>; }
<a name="l00211"></a><a class="code" href="classdtn_1_1Bundle.html#1931c2eeed81432743735dd245c8b95d">00211</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#1931c2eeed81432743735dd245c8b95d" title="Accessors.">do_not_fragment</a>()<span class="keyword">   const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#ad4b14e9eb112b7c5152f462d1090195" title="Bundle shouldn&amp;#39;t be fragmented.">do_not_fragment_</a>; }
<a name="l00212"></a><a class="code" href="classdtn_1_1Bundle.html#2261b28c9315c50a85bc35c1bcb6ace4">00212</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#2261b28c9315c50a85bc35c1bcb6ace4" title="Accessors.">custody_requested</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#520f9262a16c77123ce04630dcecea03" title="Custody requested.">custody_requested_</a>; }
<a name="l00213"></a><a class="code" href="classdtn_1_1Bundle.html#d6ce915f55f1dcf670575642e10f6419">00213</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#d6ce915f55f1dcf670575642e10f6419" title="Accessors.">singleton_dest</a>()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#69aa11ee7359745f93f90ed88ce995b3" title="Destination endpoint is a singleton.">singleton_dest_</a>; }
<a name="l00214"></a><a class="code" href="classdtn_1_1Bundle.html#06faa53f6a1ac201869c25c4c4af34f4">00214</a>     u_int8_t          <a class="code" href="classdtn_1_1Bundle.html#06faa53f6a1ac201869c25c4c4af34f4" title="Accessors.">priority</a>()<span class="keyword">          const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#d6e6e672668691e60601a143de668d8c" title="Bundle priority.">priority_</a>; }
<a name="l00215"></a><a class="code" href="classdtn_1_1Bundle.html#62e71f87a0f72127045bf18a0284843b">00215</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#62e71f87a0f72127045bf18a0284843b" title="Accessors.">receive_rcpt</a>()<span class="keyword">      const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#829a720ddcb9400c378ddccebab3ca45" title="Hop by hop reception receipt.">receive_rcpt_</a>; }
<a name="l00216"></a><a class="code" href="classdtn_1_1Bundle.html#108fb7cb162dcc1fdcfdad3ca477692d">00216</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#108fb7cb162dcc1fdcfdad3ca477692d" title="Accessors.">custody_rcpt</a>()<span class="keyword">      const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#a69eea94a81f88f3e5d8f2c2153a653b" title="Custody xfer reporting.">custody_rcpt_</a>; }
<a name="l00217"></a><a class="code" href="classdtn_1_1Bundle.html#93c641bdb9a4beda553d8f28e60c99fd">00217</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#93c641bdb9a4beda553d8f28e60c99fd" title="Accessors.">forward_rcpt</a>()<span class="keyword">      const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#b9af83a2e348628d03fef19721fe6d13" title="Hop by hop forwarding reporting.">forward_rcpt_</a>; }
<a name="l00218"></a><a class="code" href="classdtn_1_1Bundle.html#a48fd652ab931a694f79cc1c6e47985d">00218</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#a48fd652ab931a694f79cc1c6e47985d" title="Accessors.">delivery_rcpt</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#cf37f1deb18cb25bbe6c4b949ce48b20" title="End-to-end delivery reporting.">delivery_rcpt_</a>; }
<a name="l00219"></a><a class="code" href="classdtn_1_1Bundle.html#fa1f7ffd4437c3a9213c60e7bbef39d3">00219</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#fa1f7ffd4437c3a9213c60e7bbef39d3" title="Accessors.">deletion_rcpt</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#89b45b4bd679a21fb8358f0dd934522d" title="Bundle deletion reporting.">deletion_rcpt_</a>; }
<a name="l00220"></a><a class="code" href="classdtn_1_1Bundle.html#7af80fedd28d8a8f7b8b947ec134a310">00220</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#7af80fedd28d8a8f7b8b947ec134a310" title="Accessors.">app_acked_rcpt</a>()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#759ec250b64dc2484fb015816140951c" title="Acknowlege by application reporting.">app_acked_rcpt_</a>; }
<a name="l00221"></a><a class="code" href="classdtn_1_1Bundle.html#21879e67b7f065975cbd942807500746">00221</a>     u_int32_t         <a class="code" href="classdtn_1_1Bundle.html#21879e67b7f065975cbd942807500746" title="Accessors.">expiration</a>()<span class="keyword">        const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#dd0bfff0aeda43e68c75cc00d88f63cb" title="Bundle expiration time.">expiration_</a>; }
<a name="l00222"></a><a class="code" href="classdtn_1_1Bundle.html#76cf6a44f566aa22e2a98007bf233ee2">00222</a>     u_int32_t         <a class="code" href="classdtn_1_1Bundle.html#76cf6a44f566aa22e2a98007bf233ee2" title="Accessors.">frag_offset</a>()<span class="keyword">       const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#8b8fe900f2b2842861745855210ef271" title="Offset of fragment in original bundle.">frag_offset_</a>; }
<a name="l00223"></a><a class="code" href="classdtn_1_1Bundle.html#e32f3c57057214a1763dfe7709160cf8">00223</a>     u_int32_t         <a class="code" href="classdtn_1_1Bundle.html#e32f3c57057214a1763dfe7709160cf8" title="Accessors.">orig_length</a>()<span class="keyword">       const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#ba21fc6b34def3e852b9582c8034f97e" title="Length of original bundle.">orig_length_</a>; }
<a name="l00224"></a><a class="code" href="classdtn_1_1Bundle.html#3df9106fb836721e37cca7b019dd5e16">00224</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#3df9106fb836721e37cca7b019dd5e16" title="Accessors.">in_datastore</a>()<span class="keyword">      const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#925f8ece32c039914da3f313e3851482" title="Is bundle in persistent store.">in_datastore_</a>; }
<a name="l00225"></a><a class="code" href="classdtn_1_1Bundle.html#dd00e0f0435b047bdde46c97cb513e3d">00225</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#dd00e0f0435b047bdde46c97cb513e3d" title="Accessors.">local_custody</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#00d69059c16f74a10d7300781b342a94" title="Does local node have custody.">local_custody_</a>; }
<a name="l00226"></a><a class="code" href="classdtn_1_1Bundle.html#ec416f48762e31b4ea30393f6177242e">00226</a>     <span class="keyword">const</span> std::string&amp; <a class="code" href="classdtn_1_1Bundle.html#ec416f48762e31b4ea30393f6177242e" title="Accessors.">owner</a>()<span class="keyword">            const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#f43afb7db765b6c7764c1427fee164f9" title="Declared entity that &amp;quot;owns&amp;quot; this bundle, which could be empty.">owner_</a>; }
<a name="l00227"></a><a class="code" href="classdtn_1_1Bundle.html#786fe13c6220382bb032e740fb31da7e">00227</a>     <span class="keywordtype">bool</span>              <a class="code" href="classdtn_1_1Bundle.html#786fe13c6220382bb032e740fb31da7e" title="Accessors.">fragmented_incoming</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#aee056f839ea0cedf3a6efaf08e43dc3" title="Is the bundle an incoming reactive fragment.">fragmented_incoming_</a>; }
<a name="l00228"></a><a class="code" href="classdtn_1_1Bundle.html#ce91f55a3fece4d4a562b665a462a5d0">00228</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#ce91f55a3fece4d4a562b665a462a5d0" title="Accessors.">sequence_id</a>()<span class="keyword">       const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#5ef16c4b405e1e273336814e07917563" title="Sequence id vector.">sequence_id_</a>; }
<a name="l00229"></a><a class="code" href="classdtn_1_1Bundle.html#d483159c19f31132c5597de34c9ca409">00229</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#d483159c19f31132c5597de34c9ca409" title="Accessors.">obsoletes_id</a>()<span class="keyword">      const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#915c18bd06b54a728841913c064492d5" title="Obsoletes id vector.">obsoletes_id_</a>; }
<a name="l00230"></a><a class="code" href="classdtn_1_1Bundle.html#9bdc5df0500ec9859132c917f48f7bb0">00230</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#9bdc5df0500ec9859132c917f48f7bb0" title="Accessors.">session_eid</a>()<span class="keyword">       const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#59c4f745b91308e9e074363f6481b27f" title="Session eid.">session_eid_</a>; }
<a name="l00231"></a><a class="code" href="classdtn_1_1Bundle.html#973ca2bfa07da25650c14c0b536b0665">00231</a>     u_int8_t          <a class="code" href="classdtn_1_1Bundle.html#973ca2bfa07da25650c14c0b536b0665" title="Accessors.">session_flags</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#5056fc59e9964cc89bb8667fd352e935" title="Session flags.">session_flags_</a>; }
<a name="l00232"></a><a class="code" href="classdtn_1_1Bundle.html#3bc0b88b547620b4029eba4809a73447">00232</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1BundlePayload.html" title="The representation of a bundle payload.">BundlePayload</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#3bc0b88b547620b4029eba4809a73447" title="Accessors.">payload</a>()<span class="keyword">        const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#5240281e3072cc451bba55e716a3257e" title="Reference to the payload.">payload_</a>; }
<a name="l00233"></a><a class="code" href="classdtn_1_1Bundle.html#249ac137ef76e253d8e0587f2662bca7">00233</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1ForwardingLog.html" title="Class to maintain a log of informational records as to where and when a bundle has...">ForwardingLog</a>* <a class="code" href="classdtn_1_1Bundle.html#249ac137ef76e253d8e0587f2662bca7" title="Accessors.">fwdlog</a>()<span class="keyword">         const </span>{ <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#43a4f11f21b1b496e47b068933848e8e" title="Log of bundle forwarding records.">fwdlog_</a>; }
<a name="l00234"></a><a class="code" href="classdtn_1_1Bundle.html#13cd9ab7b010f09562170e2a57242209">00234</a>     <span class="keyword">const</span> <a class="code" href="structdtn_1_1BundleTimestamp.html" title="Simple struct definition for bundle creation timestamps.">BundleTimestamp</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#13cd9ab7b010f09562170e2a57242209" title="Accessors.">creation_ts</a>()<span class="keyword">  const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#72faefd75f44ab417637735cba997f9a" title="Creation timestamp.">creation_ts_</a>; }
<a name="l00235"></a><a class="code" href="classdtn_1_1Bundle.html#d7b160dca211993441a59bcb45089e3d">00235</a>     <span class="keyword">const</span> <a class="code" href="structdtn_1_1BundleTimestamp.html" title="Simple struct definition for bundle creation timestamps.">BundleTimestamp</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#d7b160dca211993441a59bcb45089e3d" title="Accessors.">extended_id</a>()<span class="keyword">  const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#912b0960ad8b3d8803f4a16f0069dfbf" title="Identifier for external routers to refer to duplicate bundles.">extended_id_</a>; }
<a name="l00236"></a><a class="code" href="classdtn_1_1Bundle.html#ec3c2ef7670fb2d34d46ab547bf9fb80">00236</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#ec3c2ef7670fb2d34d46ab547bf9fb80" title="Accessors.">recv_blocks</a>()<span class="keyword">     const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#3e6fa8dfaab47fbf560c10835aabef54" title="BP blocks as arrived off the wire.">recv_blocks_</a>; }
<a name="l00237"></a><a class="code" href="classdtn_1_1Bundle.html#212b7cf608e211050ca40ec0e6f0259d">00237</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1MetadataVec.html" title="A vector of Metadata Block references.">MetadataVec</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#212b7cf608e211050ca40ec0e6f0259d" title="Accessors.">recv_metadata</a>()<span class="keyword">    const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#6d3105dfbd5382ede587618245f25afb" title="Metadata as arrived in bundle.">recv_metadata_</a>; }
<a name="l00238"></a><a class="code" href="classdtn_1_1Bundle.html#2942a5a96aa7bb476abd7a2887939f96">00238</a>     <span class="keyword">const</span> <a class="code" href="classdtn_1_1LinkMetadataSet.html" title="Data structure to store a metadata block vector for each outgoing link, similar to...">LinkMetadataSet</a>&amp; <a class="code" href="classdtn_1_1Bundle.html#2942a5a96aa7bb476abd7a2887939f96" title="Accessors.">generated_metadata</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#c0efa362a08778845b53d1e5c25d4670" title="Metadata to be in bundle.">generated_metadata_</a>; }
<a name="l00240"></a>00240 
<a name="l00242"></a><a class="code" href="classdtn_1_1Bundle.html#69c35928ca050eb4bb2ec67641f1b6bb">00242</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>* <a class="code" href="classdtn_1_1Bundle.html#69c35928ca050eb4bb2ec67641f1b6bb" title="Setters and mutable accessors.">mutable_source</a>()       { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#e0ee1519e799770d83ba4b07d724b192" title="Source eid.">source_</a>; }
<a name="l00243"></a><a class="code" href="classdtn_1_1Bundle.html#fedf6ad0537f7e3a3f958162d1fc935e">00243</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>* <a class="code" href="classdtn_1_1Bundle.html#fedf6ad0537f7e3a3f958162d1fc935e" title="Setters and mutable accessors.">mutable_dest</a>()         { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#73bebd0daef752d8bf0212e9e79dbeec" title="Destination eid.">dest_</a>; }
<a name="l00244"></a><a class="code" href="classdtn_1_1Bundle.html#7c2091e44637889b9ad6f94a82ae7f83">00244</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>* <a class="code" href="classdtn_1_1Bundle.html#7c2091e44637889b9ad6f94a82ae7f83" title="Setters and mutable accessors.">mutable_replyto</a>()      { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#6bfeb5c4a39936ecb34c554ea0aa1d24" title="Reply-To eid.">replyto_</a>; }
<a name="l00245"></a><a class="code" href="classdtn_1_1Bundle.html#96698085719d88c0b5c86d4cb388324c">00245</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>* <a class="code" href="classdtn_1_1Bundle.html#96698085719d88c0b5c86d4cb388324c" title="Setters and mutable accessors.">mutable_custodian</a>()    { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#a45715369147ab506c5500f89276f7a6" title="Current custodian eid.">custodian_</a>; }
<a name="l00246"></a><a class="code" href="classdtn_1_1Bundle.html#dc7d3639afc306668bd1d649c398b5d5">00246</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>* <a class="code" href="classdtn_1_1Bundle.html#dc7d3639afc306668bd1d649c398b5d5" title="Setters and mutable accessors.">mutable_prevhop</a>()      { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#68efefda51e6feddb8c45aa51dd7b8b4" title="Previous hop eid.">prevhop_</a>; }
<a name="l00247"></a><a class="code" href="classdtn_1_1Bundle.html#fc3bc80899d4f0c92b163b2d662cd637">00247</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#fc3bc80899d4f0c92b163b2d662cd637" title="Setters and mutable accessors.">set_is_fragment</a>(<span class="keywordtype">bool</span> t)       { <a class="code" href="classdtn_1_1Bundle.html#c26e4f31ba03473e0a2169f98940ab01" title="Fragmentary Bundle.">is_fragment_</a> = t; }
<a name="l00248"></a><a class="code" href="classdtn_1_1Bundle.html#1cb30932516cd93a9d1127fb3f3352d1">00248</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#1cb30932516cd93a9d1127fb3f3352d1" title="Setters and mutable accessors.">set_is_admin</a>(<span class="keywordtype">bool</span> t)          { <a class="code" href="classdtn_1_1Bundle.html#e303a30810b8050718234f8057913aa2" title="Administrative record bundle.">is_admin_</a> = t; }
<a name="l00249"></a><a class="code" href="classdtn_1_1Bundle.html#ce75b35784c110dc09986632e9d9eba1">00249</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#ce75b35784c110dc09986632e9d9eba1" title="Setters and mutable accessors.">set_do_not_fragment</a>(<span class="keywordtype">bool</span> t)   { <a class="code" href="classdtn_1_1Bundle.html#ad4b14e9eb112b7c5152f462d1090195" title="Bundle shouldn&amp;#39;t be fragmented.">do_not_fragment_</a> = t; }
<a name="l00250"></a><a class="code" href="classdtn_1_1Bundle.html#ac195072e859df4e1e8ae28dd299d03e">00250</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#ac195072e859df4e1e8ae28dd299d03e" title="Setters and mutable accessors.">set_custody_requested</a>(<span class="keywordtype">bool</span> t) { <a class="code" href="classdtn_1_1Bundle.html#520f9262a16c77123ce04630dcecea03" title="Custody requested.">custody_requested_</a> = t; }
<a name="l00251"></a><a class="code" href="classdtn_1_1Bundle.html#3b35e450cfd2504a5980d379f71f222c">00251</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#3b35e450cfd2504a5980d379f71f222c" title="Setters and mutable accessors.">set_singleton_dest</a>(<span class="keywordtype">bool</span> t)    { <a class="code" href="classdtn_1_1Bundle.html#69aa11ee7359745f93f90ed88ce995b3" title="Destination endpoint is a singleton.">singleton_dest_</a> = t; }
<a name="l00252"></a><a class="code" href="classdtn_1_1Bundle.html#6025475ff9104e2720ddb5ecbc9ec923">00252</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#6025475ff9104e2720ddb5ecbc9ec923" title="Setters and mutable accessors.">set_priority</a>(u_int8_t p)      { <a class="code" href="classdtn_1_1Bundle.html#d6e6e672668691e60601a143de668d8c" title="Bundle priority.">priority_</a> = p; }
<a name="l00253"></a><a class="code" href="classdtn_1_1Bundle.html#ddbc653176fbf0ba1bf7702a72a55321">00253</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#ddbc653176fbf0ba1bf7702a72a55321" title="Setters and mutable accessors.">set_receive_rcpt</a>(<span class="keywordtype">bool</span> t)      { <a class="code" href="classdtn_1_1Bundle.html#829a720ddcb9400c378ddccebab3ca45" title="Hop by hop reception receipt.">receive_rcpt_</a> = t; }
<a name="l00254"></a><a class="code" href="classdtn_1_1Bundle.html#8ed9f01350133711a4cd23aef1f4e941">00254</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#8ed9f01350133711a4cd23aef1f4e941" title="Setters and mutable accessors.">set_custody_rcpt</a>(<span class="keywordtype">bool</span> t)      { <a class="code" href="classdtn_1_1Bundle.html#a69eea94a81f88f3e5d8f2c2153a653b" title="Custody xfer reporting.">custody_rcpt_</a> = t; }
<a name="l00255"></a><a class="code" href="classdtn_1_1Bundle.html#398c69ef798e99ea2f82e03f460d4aff">00255</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#398c69ef798e99ea2f82e03f460d4aff" title="Setters and mutable accessors.">set_forward_rcpt</a>(<span class="keywordtype">bool</span> t)      { <a class="code" href="classdtn_1_1Bundle.html#b9af83a2e348628d03fef19721fe6d13" title="Hop by hop forwarding reporting.">forward_rcpt_</a> = t; }
<a name="l00256"></a><a class="code" href="classdtn_1_1Bundle.html#fc9cb55b202687f98d31f4bba7859f73">00256</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#fc9cb55b202687f98d31f4bba7859f73" title="Setters and mutable accessors.">set_delivery_rcpt</a>(<span class="keywordtype">bool</span> t)     { <a class="code" href="classdtn_1_1Bundle.html#cf37f1deb18cb25bbe6c4b949ce48b20" title="End-to-end delivery reporting.">delivery_rcpt_</a> = t; }
<a name="l00257"></a><a class="code" href="classdtn_1_1Bundle.html#c59da17a98c6ac9f32da043dc967f151">00257</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#c59da17a98c6ac9f32da043dc967f151" title="Setters and mutable accessors.">set_deletion_rcpt</a>(<span class="keywordtype">bool</span> t)     { <a class="code" href="classdtn_1_1Bundle.html#89b45b4bd679a21fb8358f0dd934522d" title="Bundle deletion reporting.">deletion_rcpt_</a> = t; }
<a name="l00258"></a><a class="code" href="classdtn_1_1Bundle.html#6a1c62659602921671e0d0d1e0b2f126">00258</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#6a1c62659602921671e0d0d1e0b2f126" title="Setters and mutable accessors.">set_app_acked_rcpt</a>(<span class="keywordtype">bool</span> t)    { <a class="code" href="classdtn_1_1Bundle.html#759ec250b64dc2484fb015816140951c" title="Acknowlege by application reporting.">app_acked_rcpt_</a> = t; }
<a name="l00259"></a><a class="code" href="classdtn_1_1Bundle.html#7623ecfe9e47e5dc075ebd872fb9a237">00259</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#7623ecfe9e47e5dc075ebd872fb9a237" title="Setters and mutable accessors.">set_expiration</a>(u_int32_t e)   { <a class="code" href="classdtn_1_1Bundle.html#dd0bfff0aeda43e68c75cc00d88f63cb" title="Bundle expiration time.">expiration_</a> = e; }
<a name="l00260"></a><a class="code" href="classdtn_1_1Bundle.html#7e050ba82bf916772a0971e118dc31ee">00260</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#7e050ba82bf916772a0971e118dc31ee" title="Setters and mutable accessors.">set_frag_offset</a>(u_int32_t o)  { <a class="code" href="classdtn_1_1Bundle.html#8b8fe900f2b2842861745855210ef271" title="Offset of fragment in original bundle.">frag_offset_</a> = o; }
<a name="l00261"></a><a class="code" href="classdtn_1_1Bundle.html#ad892616cfb568fbe458106f589ce8d3">00261</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#ad892616cfb568fbe458106f589ce8d3" title="Setters and mutable accessors.">set_orig_length</a>(u_int32_t l)  { <a class="code" href="classdtn_1_1Bundle.html#ba21fc6b34def3e852b9582c8034f97e" title="Length of original bundle.">orig_length_</a> = l; }
<a name="l00262"></a><a class="code" href="classdtn_1_1Bundle.html#657235d527f722a449ddc3c254e345c1">00262</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#657235d527f722a449ddc3c254e345c1" title="Setters and mutable accessors.">set_in_datastore</a>(<span class="keywordtype">bool</span> t)      { <a class="code" href="classdtn_1_1Bundle.html#925f8ece32c039914da3f313e3851482" title="Is bundle in persistent store.">in_datastore_</a> = t; }
<a name="l00263"></a><a class="code" href="classdtn_1_1Bundle.html#1574534ce46a32052b604c3cdf5a5921">00263</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#1574534ce46a32052b604c3cdf5a5921" title="Setters and mutable accessors.">set_local_custody</a>(<span class="keywordtype">bool</span> t)     { <a class="code" href="classdtn_1_1Bundle.html#00d69059c16f74a10d7300781b342a94" title="Does local node have custody.">local_custody_</a> = t; }
<a name="l00264"></a><a class="code" href="classdtn_1_1Bundle.html#23aea4408a0deb1b0a266d2b6e3077aa">00264</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#23aea4408a0deb1b0a266d2b6e3077aa" title="Setters and mutable accessors.">set_owner</a>(<span class="keyword">const</span> std::string&amp; s) { <a class="code" href="classdtn_1_1Bundle.html#f43afb7db765b6c7764c1427fee164f9" title="Declared entity that &amp;quot;owns&amp;quot; this bundle, which could be empty.">owner_</a> = s; }
<a name="l00265"></a><a class="code" href="classdtn_1_1Bundle.html#cf35d164ad5f7249e22d6bd631a2f944">00265</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#cf35d164ad5f7249e22d6bd631a2f944" title="Setters and mutable accessors.">set_fragmented_incoming</a>(<span class="keywordtype">bool</span> t) { <a class="code" href="classdtn_1_1Bundle.html#aee056f839ea0cedf3a6efaf08e43dc3" title="Is the bundle an incoming reactive fragment.">fragmented_incoming_</a> = t; }
<a name="l00266"></a><a class="code" href="classdtn_1_1Bundle.html#f719a866982138aac40bc5f9ed52fa89">00266</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#f719a866982138aac40bc5f9ed52fa89" title="Setters and mutable accessors.">set_creation_ts</a>(<span class="keyword">const</span> <a class="code" href="structdtn_1_1BundleTimestamp.html" title="Simple struct definition for bundle creation timestamps.">BundleTimestamp</a>&amp; ts) { <a class="code" href="classdtn_1_1Bundle.html#72faefd75f44ab417637735cba997f9a" title="Creation timestamp.">creation_ts_</a> = ts; }
<a name="l00267"></a><a class="code" href="classdtn_1_1Bundle.html#39b61082cafee0ad15b30eb0b90fcd9a">00267</a>     <a class="code" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a>* <a class="code" href="classdtn_1_1Bundle.html#39b61082cafee0ad15b30eb0b90fcd9a" title="Setters and mutable accessors.">mutable_sequence_id</a>()  { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#5ef16c4b405e1e273336814e07917563" title="Sequence id vector.">sequence_id_</a>; }
<a name="l00268"></a><a class="code" href="classdtn_1_1Bundle.html#805049a55e34570cc6765821a9d1264f">00268</a>     <a class="code" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a>* <a class="code" href="classdtn_1_1Bundle.html#805049a55e34570cc6765821a9d1264f" title="Setters and mutable accessors.">mutable_obsoletes_id</a>() { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#915c18bd06b54a728841913c064492d5" title="Obsoletes id vector.">obsoletes_id_</a>; }
<a name="l00269"></a><a class="code" href="classdtn_1_1Bundle.html#453f60de16237ff944b5b95951288611">00269</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a>* <a class="code" href="classdtn_1_1Bundle.html#453f60de16237ff944b5b95951288611" title="Setters and mutable accessors.">mutable_session_eid</a>()  { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#59c4f745b91308e9e074363f6481b27f" title="Session eid.">session_eid_</a>; }
<a name="l00270"></a><a class="code" href="classdtn_1_1Bundle.html#24e65f2c2ad09ce8bca3409f450df21c">00270</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#24e65f2c2ad09ce8bca3409f450df21c" title="Setters and mutable accessors.">set_session_flags</a>(u_int8_t f) { <a class="code" href="classdtn_1_1Bundle.html#5056fc59e9964cc89bb8667fd352e935" title="Session flags.">session_flags_</a> = f; }
<a name="l00271"></a><a class="code" href="classdtn_1_1Bundle.html#9b8d2df42f4fdf9bfd7324d15a43d773">00271</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#9b8d2df42f4fdf9bfd7324d15a43d773" title="Setters and mutable accessors.">test_set_bundleid</a>(u_int32_t <span class="keywordtype">id</span>) { <a class="code" href="classdtn_1_1Bundle.html#351580b526d962c1e8bd730157b4c969" title="Local bundle identifier.">bundleid_</a> = id; }
<a name="l00272"></a><a class="code" href="classdtn_1_1Bundle.html#857079bad68497626f75c2985b69052f">00272</a>     <a class="code" href="classdtn_1_1BundlePayload.html" title="The representation of a bundle payload.">BundlePayload</a>*   <a class="code" href="classdtn_1_1Bundle.html#857079bad68497626f75c2985b69052f" title="Setters and mutable accessors.">mutable_payload</a>() { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#5240281e3072cc451bba55e716a3257e" title="Reference to the payload.">payload_</a>; }
<a name="l00273"></a><a class="code" href="classdtn_1_1Bundle.html#aa190aad0fa4ea99cf99d1fd5afefee4">00273</a>     <a class="code" href="classdtn_1_1ForwardingLog.html" title="Class to maintain a log of informational records as to where and when a bundle has...">ForwardingLog</a>*   <a class="code" href="classdtn_1_1Bundle.html#aa190aad0fa4ea99cf99d1fd5afefee4" title="Setters and mutable accessors.">fwdlog</a>()          { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#43a4f11f21b1b496e47b068933848e8e" title="Log of bundle forwarding records.">fwdlog_</a>; }
<a name="l00274"></a><a class="code" href="classdtn_1_1Bundle.html#68faab77677efadfb3605d36f9e84f42">00274</a>     <a class="code" href="classdtn_1_1ExpirationTimer.html" title="Bundle expiration timer class.">ExpirationTimer</a>* <a class="code" href="classdtn_1_1Bundle.html#68faab77677efadfb3605d36f9e84f42" title="Setters and mutable accessors.">expiration_timer</a>(){ <span class="keywordflow">return</span> <a class="code" href="classdtn_1_1Bundle.html#04c759563bcaca145ebce02539c2f677" title="The expiration timer.">expiration_timer_</a>; }
<a name="l00275"></a><a class="code" href="classdtn_1_1Bundle.html#ee3040af6e2509507fbd3380f8fcfd1a">00275</a>     <a class="code" href="classdtn_1_1CustodyTimerVec.html" title="Class for a vector of custody timers.">CustodyTimerVec</a>* <a class="code" href="classdtn_1_1Bundle.html#ee3040af6e2509507fbd3380f8fcfd1a" title="Setters and mutable accessors.">custody_timers</a>()  { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#6776574f6deb98bdd184a8b2dfc60ec6" title="Live custody timers for the bundle.">custody_timers_</a>; }
<a name="l00276"></a><a class="code" href="classdtn_1_1Bundle.html#5e06eba17ac3706daa934b6a58c16dda">00276</a>     <a class="code" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a>*    <a class="code" href="classdtn_1_1Bundle.html#5e06eba17ac3706daa934b6a58c16dda" title="Setters and mutable accessors.">api_blocks</a>()      { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#a979223562cdfd86dc47f8b61e528791" title="BP blocks given from local API.">api_blocks_</a>; }
<a name="l00277"></a><a class="code" href="classdtn_1_1Bundle.html#0ce0961036dd0da1fd322721cbb794aa">00277</a>     <a class="code" href="classdtn_1_1LinkBlockSet.html" title="A set of BlockInfoVecs, one for each outgoing link.">LinkBlockSet</a>*    <a class="code" href="classdtn_1_1Bundle.html#0ce0961036dd0da1fd322721cbb794aa" title="Setters and mutable accessors.">xmit_blocks</a>()     { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#3d7298e3def6853c47b2d14043abe7d1" title="Block vector for each link.">xmit_blocks_</a>; }
<a name="l00278"></a><a class="code" href="classdtn_1_1Bundle.html#5c48f51fba15c89a82d5d98c9881f0bd">00278</a>     <a class="code" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a>*    <a class="code" href="classdtn_1_1Bundle.html#5c48f51fba15c89a82d5d98c9881f0bd" title="Setters and mutable accessors.">mutable_recv_blocks</a>() { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#3e6fa8dfaab47fbf560c10835aabef54" title="BP blocks as arrived off the wire.">recv_blocks_</a>; }
<a name="l00279"></a><a class="code" href="classdtn_1_1Bundle.html#c0e5096b00ca3f36b5513a13dccf5241">00279</a>     <a class="code" href="classdtn_1_1MetadataVec.html" title="A vector of Metadata Block references.">MetadataVec</a>*     <a class="code" href="classdtn_1_1Bundle.html#c0e5096b00ca3f36b5513a13dccf5241" title="Setters and mutable accessors.">mutable_recv_metadata</a>() { <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#6d3105dfbd5382ede587618245f25afb" title="Metadata as arrived in bundle.">recv_metadata_</a>; }
<a name="l00280"></a><a class="code" href="classdtn_1_1Bundle.html#1a77b94b46d2034dff2ea4eb339d9a58">00280</a>     <a class="code" href="classdtn_1_1LinkMetadataSet.html" title="Data structure to store a metadata block vector for each outgoing link, similar to...">LinkMetadataSet</a>* <a class="code" href="classdtn_1_1Bundle.html#1a77b94b46d2034dff2ea4eb339d9a58" title="Setters and mutable accessors.">mutable_generated_metadata</a>() {
<a name="l00281"></a>00281         <span class="keywordflow">return</span> &amp;<a class="code" href="classdtn_1_1Bundle.html#c0efa362a08778845b53d1e5c25d4670" title="Metadata to be in bundle.">generated_metadata_</a>;
<a name="l00282"></a>00282     }
<a name="l00283"></a><a class="code" href="classdtn_1_1Bundle.html#e3456ce3a39f06459ddb250f2a121afb">00283</a>     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#e3456ce3a39f06459ddb250f2a121afb" title="Setters and mutable accessors.">set_expiration_timer</a>(<a class="code" href="classdtn_1_1ExpirationTimer.html" title="Bundle expiration timer class.">ExpirationTimer</a>* e) {
<a name="l00284"></a>00284         <a class="code" href="classdtn_1_1Bundle.html#04c759563bcaca145ebce02539c2f677" title="The expiration timer.">expiration_timer_</a> = e;
<a name="l00285"></a>00285     }
<a name="l00287"></a>00287     
<a name="l00288"></a>00288 <span class="keyword">private</span>:
<a name="l00289"></a>00289     <span class="comment">/*</span>
<a name="l00290"></a>00290 <span class="comment">     * Bundle data fields that correspond to data transferred between</span>
<a name="l00291"></a>00291 <span class="comment">     * nodes according to the bundle protocol.</span>
<a name="l00292"></a>00292 <span class="comment">     */</span>
<a name="l00293"></a><a class="code" href="classdtn_1_1Bundle.html#e0ee1519e799770d83ba4b07d724b192">00293</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="code" href="classdtn_1_1Bundle.html#e0ee1519e799770d83ba4b07d724b192" title="Source eid.">source_</a>;         
<a name="l00294"></a><a class="code" href="classdtn_1_1Bundle.html#73bebd0daef752d8bf0212e9e79dbeec">00294</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="code" href="classdtn_1_1Bundle.html#73bebd0daef752d8bf0212e9e79dbeec" title="Destination eid.">dest_</a>;           
<a name="l00295"></a><a class="code" href="classdtn_1_1Bundle.html#a45715369147ab506c5500f89276f7a6">00295</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="code" href="classdtn_1_1Bundle.html#a45715369147ab506c5500f89276f7a6" title="Current custodian eid.">custodian_</a>;      
<a name="l00296"></a><a class="code" href="classdtn_1_1Bundle.html#6bfeb5c4a39936ecb34c554ea0aa1d24">00296</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="code" href="classdtn_1_1Bundle.html#6bfeb5c4a39936ecb34c554ea0aa1d24" title="Reply-To eid.">replyto_</a>;        
<a name="l00297"></a><a class="code" href="classdtn_1_1Bundle.html#68efefda51e6feddb8c45aa51dd7b8b4">00297</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="code" href="classdtn_1_1Bundle.html#68efefda51e6feddb8c45aa51dd7b8b4" title="Previous hop eid.">prevhop_</a>;        
<a name="l00298"></a><a class="code" href="classdtn_1_1Bundle.html#c26e4f31ba03473e0a2169f98940ab01">00298</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#c26e4f31ba03473e0a2169f98940ab01" title="Fragmentary Bundle.">is_fragment_</a>;          
<a name="l00299"></a><a class="code" href="classdtn_1_1Bundle.html#e303a30810b8050718234f8057913aa2">00299</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#e303a30810b8050718234f8057913aa2" title="Administrative record bundle.">is_admin_</a>;             
<a name="l00300"></a><a class="code" href="classdtn_1_1Bundle.html#ad4b14e9eb112b7c5152f462d1090195">00300</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#ad4b14e9eb112b7c5152f462d1090195" title="Bundle shouldn&amp;#39;t be fragmented.">do_not_fragment_</a>;      
<a name="l00301"></a><a class="code" href="classdtn_1_1Bundle.html#520f9262a16c77123ce04630dcecea03">00301</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#520f9262a16c77123ce04630dcecea03" title="Custody requested.">custody_requested_</a>;    
<a name="l00302"></a><a class="code" href="classdtn_1_1Bundle.html#69aa11ee7359745f93f90ed88ce995b3">00302</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#69aa11ee7359745f93f90ed88ce995b3" title="Destination endpoint is a singleton.">singleton_dest_</a>;       
<a name="l00303"></a><a class="code" href="classdtn_1_1Bundle.html#d6e6e672668691e60601a143de668d8c">00303</a>     u_int8_t <a class="code" href="classdtn_1_1Bundle.html#d6e6e672668691e60601a143de668d8c" title="Bundle priority.">priority_</a>;         
<a name="l00304"></a><a class="code" href="classdtn_1_1Bundle.html#829a720ddcb9400c378ddccebab3ca45">00304</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#829a720ddcb9400c378ddccebab3ca45" title="Hop by hop reception receipt.">receive_rcpt_</a>;         
<a name="l00305"></a><a class="code" href="classdtn_1_1Bundle.html#a69eea94a81f88f3e5d8f2c2153a653b">00305</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#a69eea94a81f88f3e5d8f2c2153a653b" title="Custody xfer reporting.">custody_rcpt_</a>;         
<a name="l00306"></a><a class="code" href="classdtn_1_1Bundle.html#b9af83a2e348628d03fef19721fe6d13">00306</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#b9af83a2e348628d03fef19721fe6d13" title="Hop by hop forwarding reporting.">forward_rcpt_</a>;         
<a name="l00307"></a><a class="code" href="classdtn_1_1Bundle.html#cf37f1deb18cb25bbe6c4b949ce48b20">00307</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#cf37f1deb18cb25bbe6c4b949ce48b20" title="End-to-end delivery reporting.">delivery_rcpt_</a>;        
<a name="l00308"></a><a class="code" href="classdtn_1_1Bundle.html#89b45b4bd679a21fb8358f0dd934522d">00308</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#89b45b4bd679a21fb8358f0dd934522d" title="Bundle deletion reporting.">deletion_rcpt_</a>;        
<a name="l00309"></a><a class="code" href="classdtn_1_1Bundle.html#759ec250b64dc2484fb015816140951c">00309</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#759ec250b64dc2484fb015816140951c" title="Acknowlege by application reporting.">app_acked_rcpt_</a>;       
<a name="l00310"></a><a class="code" href="classdtn_1_1Bundle.html#72faefd75f44ab417637735cba997f9a">00310</a>     <a class="code" href="structdtn_1_1BundleTimestamp.html" title="Simple struct definition for bundle creation timestamps.">BundleTimestamp</a> <a class="code" href="classdtn_1_1Bundle.html#72faefd75f44ab417637735cba997f9a" title="Creation timestamp.">creation_ts_</a>; 
<a name="l00311"></a><a class="code" href="classdtn_1_1Bundle.html#dd0bfff0aeda43e68c75cc00d88f63cb">00311</a>     u_int32_t <a class="code" href="classdtn_1_1Bundle.html#dd0bfff0aeda43e68c75cc00d88f63cb" title="Bundle expiration time.">expiration_</a>;      
<a name="l00312"></a><a class="code" href="classdtn_1_1Bundle.html#8b8fe900f2b2842861745855210ef271">00312</a>     u_int32_t <a class="code" href="classdtn_1_1Bundle.html#8b8fe900f2b2842861745855210ef271" title="Offset of fragment in original bundle.">frag_offset_</a>;     
<a name="l00313"></a><a class="code" href="classdtn_1_1Bundle.html#ba21fc6b34def3e852b9582c8034f97e">00313</a>     u_int32_t <a class="code" href="classdtn_1_1Bundle.html#ba21fc6b34def3e852b9582c8034f97e" title="Length of original bundle.">orig_length_</a>;     
<a name="l00314"></a><a class="code" href="classdtn_1_1Bundle.html#5ef16c4b405e1e273336814e07917563">00314</a>     <a class="code" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a> <a class="code" href="classdtn_1_1Bundle.html#5ef16c4b405e1e273336814e07917563" title="Sequence id vector.">sequence_id_</a>;    
<a name="l00315"></a><a class="code" href="classdtn_1_1Bundle.html#915c18bd06b54a728841913c064492d5">00315</a>     <a class="code" href="classdtn_1_1SequenceID.html" title="A bundle SequenceID is a version vector of (EID, counter) and/or (EID, identifier)...">SequenceID</a> <a class="code" href="classdtn_1_1Bundle.html#915c18bd06b54a728841913c064492d5" title="Obsoletes id vector.">obsoletes_id_</a>;   
<a name="l00316"></a><a class="code" href="classdtn_1_1Bundle.html#59c4f745b91308e9e074363f6481b27f">00316</a>     <a class="code" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="code" href="classdtn_1_1Bundle.html#59c4f745b91308e9e074363f6481b27f" title="Session eid.">session_eid_</a>;    
<a name="l00317"></a><a class="code" href="classdtn_1_1Bundle.html#5056fc59e9964cc89bb8667fd352e935">00317</a>     u_int8_t <a class="code" href="classdtn_1_1Bundle.html#5056fc59e9964cc89bb8667fd352e935" title="Session flags.">session_flags_</a>;    
<a name="l00318"></a><a class="code" href="classdtn_1_1Bundle.html#5240281e3072cc451bba55e716a3257e">00318</a>     <a class="code" href="classdtn_1_1BundlePayload.html" title="The representation of a bundle payload.">BundlePayload</a> <a class="code" href="classdtn_1_1Bundle.html#5240281e3072cc451bba55e716a3257e" title="Reference to the payload.">payload_</a>;     
<a name="l00319"></a>00319     
<a name="l00320"></a>00320     <span class="comment">/*</span>
<a name="l00321"></a>00321 <span class="comment">     * Internal fields and structures for managing the bundle that are</span>
<a name="l00322"></a>00322 <span class="comment">     * not transmitted over the network.</span>
<a name="l00323"></a>00323 <span class="comment">     */</span>
<a name="l00324"></a><a class="code" href="classdtn_1_1Bundle.html#351580b526d962c1e8bd730157b4c969">00324</a>     u_int32_t <a class="code" href="classdtn_1_1Bundle.html#351580b526d962c1e8bd730157b4c969" title="Local bundle identifier.">bundleid_</a>;           
<a name="l00325"></a><a class="code" href="classdtn_1_1Bundle.html#39fd05c48dca2e56883ad4d2b34d7a3e">00325</a>     <span class="keyword">mutable</span> oasys::SpinLock <a class="code" href="classdtn_1_1Bundle.html#39fd05c48dca2e56883ad4d2b34d7a3e" title="Lock for bundle data that can be updated by multiple threads.">lock_</a>; 
<a name="l00326"></a>00326 
<a name="l00327"></a><a class="code" href="classdtn_1_1Bundle.html#925f8ece32c039914da3f313e3851482">00327</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#925f8ece32c039914da3f313e3851482" title="Is bundle in persistent store.">in_datastore_</a>;            
<a name="l00328"></a><a class="code" href="classdtn_1_1Bundle.html#00d69059c16f74a10d7300781b342a94">00328</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#00d69059c16f74a10d7300781b342a94" title="Does local node have custody.">local_custody_</a>;           
<a name="l00329"></a><a class="code" href="classdtn_1_1Bundle.html#f43afb7db765b6c7764c1427fee164f9">00329</a>     std::string <a class="code" href="classdtn_1_1Bundle.html#f43afb7db765b6c7764c1427fee164f9" title="Declared entity that &amp;quot;owns&amp;quot; this bundle, which could be empty.">owner_</a>;            
<a name="l00330"></a>00330 
<a name="l00331"></a><a class="code" href="classdtn_1_1Bundle.html#912b0960ad8b3d8803f4a16f0069dfbf">00331</a>     <a class="code" href="structdtn_1_1BundleTimestamp.html" title="Simple struct definition for bundle creation timestamps.">BundleTimestamp</a> <a class="code" href="classdtn_1_1Bundle.html#912b0960ad8b3d8803f4a16f0069dfbf" title="Identifier for external routers to refer to duplicate bundles.">extended_id_</a>;  
<a name="l00332"></a>00332 
<a name="l00333"></a><a class="code" href="classdtn_1_1Bundle.html#43a4f11f21b1b496e47b068933848e8e">00333</a>     <a class="code" href="classdtn_1_1ForwardingLog.html" title="Class to maintain a log of informational records as to where and when a bundle has...">ForwardingLog</a> <a class="code" href="classdtn_1_1Bundle.html#43a4f11f21b1b496e47b068933848e8e" title="Log of bundle forwarding records.">fwdlog_</a>;         
<a name="l00334"></a><a class="code" href="classdtn_1_1Bundle.html#04c759563bcaca145ebce02539c2f677">00334</a>     <a class="code" href="classdtn_1_1ExpirationTimer.html" title="Bundle expiration timer class.">ExpirationTimer</a>* <a class="code" href="classdtn_1_1Bundle.html#04c759563bcaca145ebce02539c2f677" title="The expiration timer.">expiration_timer_</a>; 
<a name="l00335"></a><a class="code" href="classdtn_1_1Bundle.html#6776574f6deb98bdd184a8b2dfc60ec6">00335</a>     <a class="code" href="classdtn_1_1CustodyTimerVec.html" title="Class for a vector of custody timers.">CustodyTimerVec</a> <a class="code" href="classdtn_1_1Bundle.html#6776574f6deb98bdd184a8b2dfc60ec6" title="Live custody timers for the bundle.">custody_timers_</a>; 
<a name="l00336"></a><a class="code" href="classdtn_1_1Bundle.html#aee056f839ea0cedf3a6efaf08e43dc3">00336</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#aee056f839ea0cedf3a6efaf08e43dc3" title="Is the bundle an incoming reactive fragment.">fragmented_incoming_</a>;     
<a name="l00337"></a>00337 
<a name="l00338"></a>00338 
<a name="l00339"></a><a class="code" href="classdtn_1_1Bundle.html#3e6fa8dfaab47fbf560c10835aabef54">00339</a>     <a class="code" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> <a class="code" href="classdtn_1_1Bundle.html#3e6fa8dfaab47fbf560c10835aabef54" title="BP blocks as arrived off the wire.">recv_blocks_</a>;     
<a name="l00340"></a><a class="code" href="classdtn_1_1Bundle.html#a979223562cdfd86dc47f8b61e528791">00340</a>     <a class="code" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> <a class="code" href="classdtn_1_1Bundle.html#a979223562cdfd86dc47f8b61e528791" title="BP blocks given from local API.">api_blocks_</a>;      
<a name="l00341"></a><a class="code" href="classdtn_1_1Bundle.html#3d7298e3def6853c47b2d14043abe7d1">00341</a>     <a class="code" href="classdtn_1_1LinkBlockSet.html" title="A set of BlockInfoVecs, one for each outgoing link.">LinkBlockSet</a> <a class="code" href="classdtn_1_1Bundle.html#3d7298e3def6853c47b2d14043abe7d1" title="Block vector for each link.">xmit_blocks_</a>;     
<a name="l00342"></a>00342 
<a name="l00343"></a><a class="code" href="classdtn_1_1Bundle.html#6d3105dfbd5382ede587618245f25afb">00343</a>     <a class="code" href="classdtn_1_1MetadataVec.html" title="A vector of Metadata Block references.">MetadataVec</a>     <a class="code" href="classdtn_1_1Bundle.html#6d3105dfbd5382ede587618245f25afb" title="Metadata as arrived in bundle.">recv_metadata_</a>;      
<a name="l00344"></a><a class="code" href="classdtn_1_1Bundle.html#c0efa362a08778845b53d1e5c25d4670">00344</a>     <a class="code" href="classdtn_1_1LinkMetadataSet.html" title="Data structure to store a metadata block vector for each outgoing link, similar to...">LinkMetadataSet</a> <a class="code" href="classdtn_1_1Bundle.html#c0efa362a08778845b53d1e5c25d4670" title="Metadata to be in bundle.">generated_metadata_</a>; 
<a name="l00345"></a>00345 
<a name="l00346"></a><a class="code" href="classdtn_1_1Bundle.html#ffda74852216e190b80e4bc07a2d74cc">00346</a>     <a class="code" href="classdtn_1_1BundleMappings.html" title="Class to define the set of mappings.">BundleMappings</a> <a class="code" href="classdtn_1_1Bundle.html#ffda74852216e190b80e4bc07a2d74cc" title="The set of BundleLists that contain the Bundle.">mappings_</a>;      
<a name="l00347"></a>00347 
<a name="l00348"></a>00348     
<a name="l00349"></a><a class="code" href="classdtn_1_1Bundle.html#484370b532a1f328d3b2582af82cd2b6">00349</a>     <span class="keywordtype">int</span>  <a class="code" href="classdtn_1_1Bundle.html#484370b532a1f328d3b2582af82cd2b6" title="Bundle reference count.">refcount_</a>;                
<a name="l00350"></a><a class="code" href="classdtn_1_1Bundle.html#cc0ac36721c1226af7961d8036ba7451">00350</a>     <span class="keywordtype">bool</span> <a class="code" href="classdtn_1_1Bundle.html#cc0ac36721c1226af7961d8036ba7451" title="Bit indicating whether a bundle free event has been posted.">freed_</a>;                   
<a name="l00351"></a>00351 
<a name="l00352"></a>00352 
<a name="l00356"></a>00356     <span class="keywordtype">void</span> <a class="code" href="classdtn_1_1Bundle.html#d103ff9538eedf4aced9d5da90cfdf0b" title="Initialization helper function.">init</a>(u_int32_t <span class="keywordtype">id</span>);
<a name="l00357"></a>00357 };
<a name="l00358"></a>00358 
<a name="l00359"></a>00359 
<a name="l00360"></a>00360 } <span class="comment">// namespace dtn</span>
<a name="l00361"></a>00361 
<a name="l00362"></a>00362 <span class="preprocessor">#endif </span><span class="comment">/* _BUNDLE_H_ */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:26:52 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>