<!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: dtn::BundleStore Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1BundleStore.html">BundleStore</a> </div> </div> <div class="contents"> <h1>dtn::BundleStore Class Reference</h1><!-- doxytag: class="dtn::BundleStore" --><code>#include <<a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for dtn::BundleStore:</div> <div class="dynsection"> <p><center><img src="classdtn_1_1BundleStore.png" usemap="#dtn::BundleStore_map" border="0" alt=""></center> <map name="dtn::BundleStore_map"> <area href="classdtn_1_1SQLBundleStore.html" alt="dtn::SQLBundleStore" shape="rect" coords="0,56,129,80"> </map> </div> <p> <a href="classdtn_1_1BundleStore-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> The class for bundle storage is an instantiation of an <a class="el" href="namespaceoasys.html">oasys</a> durable table to store the bundle metadata, tracking logic for the storage total, and other support classes for the payloads. <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00036">36</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef oasys::OpenFdCache<br> < std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#7f6ec449ca0ee33258d444af8426510d">FdCache</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Helper class typedefs. <a href="#7f6ec449ca0ee33258d444af8426510d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br> oasys::InternalKeyDurableTable<br> < oasys::UIntShim, u_int32_t, <br> <a class="el" href="classdtn_1_1Bundle.html">Bundle</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#17dedcf81fa5b62013a4754fe48409fb">BundleTable</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef BundleTable::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#fb4b85e14a877a86628c0b6bcf619e68">iterator</a></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#0d7ddf276c76fa7933fa445ca3edcf5a">BundleStore</a> (const <a class="el" href="classdtn_1_1DTNStorageConfig.html">DTNStorageConfig</a> &cfg)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#0d7ddf276c76fa7933fa445ca3edcf5a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#c4bccdb52cfebbdc5409ce4611e98da2">add</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a new bundle. <a href="#c4bccdb52cfebbdc5409ce4611e98da2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#dc21e162bbb18024768467a8005048ac">get</a> (u_int32_t bundleid)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieve a bundle. <a href="#dc21e162bbb18024768467a8005048ac"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#3821a93fdc9d3566951764be76d2c649">update</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Update the metabundle for the bundle. <a href="#3821a93fdc9d3566951764be76d2c649"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#87d444672b4bdb825be09b0ad3b37150">del</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete the bundle. <a href="#87d444672b4bdb825be09b0ad3b37150"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleStore.html#fb4b85e14a877a86628c0b6bcf619e68">iterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#2018d15d04bd544f78dc8bb4b23c4df2">new_iterator</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a new iterator. <a href="#2018d15d04bd544f78dc8bb4b23c4df2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#65ec6e97b58f4b9cab96cad6968145ab">close</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Close down the table. <a href="#65ec6e97b58f4b9cab96cad6968145ab"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#86524d860e9407dd3d0613e81a9990d2">payload_dir</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#86524d860e9407dd3d0613e81a9990d2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#8a503100de1f9c00d38fa66aebd78da1">payload_quota</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#8a503100de1f9c00d38fa66aebd78da1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleStore.html#7f6ec449ca0ee33258d444af8426510d">FdCache</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#c3df23a2c4d9d3714d088f36d07c1ba2">payload_fdcache</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#c3df23a2c4d9d3714d088f36d07c1ba2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#b360ea44c0fbb86453a1b53174154ddb">total_size</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#b360ea44c0fbb86453a1b53174154ddb"></a><br></td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#98d13600ce59a19e79d256518c32e314">init</a> (const <a class="el" href="classdtn_1_1DTNStorageConfig.html">DTNStorageConfig</a> &cfg, oasys::DurableStore *store)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Boot time initializer that takes as a parameter the storage configuration to use. <a href="#98d13600ce59a19e79d256518c32e314"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#e353ebf2181c93689adde1ba532192e0">set_total_size</a> (u_int64_t sz)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">When the bundle store is loaded at boot time, we need to reset the in-memory total_size_ parameter. <a href="#e353ebf2181c93689adde1ba532192e0"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classdtn_1_1DTNStorageConfig.html">DTNStorageConfig</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#3f8c7283db7c084c29f7688ee2597dec">cfg_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Storage configuration. <a href="#3f8c7283db7c084c29f7688ee2597dec"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleStore.html#17dedcf81fa5b62013a4754fe48409fb">BundleTable</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#6276fa50b81e2907ace7e7a10d270650">bundles_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classdtn_1_1Bundle.html" title="The internal representation of a bundle.">Bundle</a> metabundle table. <a href="#6276fa50b81e2907ace7e7a10d270650"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleStore.html#7f6ec449ca0ee33258d444af8426510d">FdCache</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#187e6b5009ecf6ba0bf84e46da520234">payload_fdcache_</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">File descriptor cache. <a href="#187e6b5009ecf6ba0bf84e46da520234"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#ffb89e9cd7f3ce15c9c136fd31474a2e">total_size_</a></td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleStore.html#fc7f6330f6d1e3b33bfc1e2e1c751537">BundleDaemon</a></td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="7f6ec449ca0ee33258d444af8426510d"></a><!-- doxytag: member="dtn::BundleStore::FdCache" ref="7f6ec449ca0ee33258d444af8426510d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef oasys::OpenFdCache<std::string> <a class="el" href="classdtn_1_1BundleStore.html#7f6ec449ca0ee33258d444af8426510d">dtn::BundleStore::FdCache</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Helper class typedefs. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00039">39</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> </div> </div><p> <a class="anchor" name="17dedcf81fa5b62013a4754fe48409fb"></a><!-- doxytag: member="dtn::BundleStore::BundleTable" ref="17dedcf81fa5b62013a4754fe48409fb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef oasys::InternalKeyDurableTable< oasys::UIntShim, u_int32_t, <a class="el" href="classdtn_1_1Bundle.html">Bundle</a>> <a class="el" href="classdtn_1_1BundleStore.html#17dedcf81fa5b62013a4754fe48409fb">dtn::BundleStore::BundleTable</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00041">41</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> </div> </div><p> <a class="anchor" name="fb4b85e14a877a86628c0b6bcf619e68"></a><!-- doxytag: member="dtn::BundleStore::iterator" ref="fb4b85e14a877a86628c0b6bcf619e68" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef BundleTable::iterator <a class="el" href="classdtn_1_1BundleStore.html#fb4b85e14a877a86628c0b6bcf619e68">dtn::BundleStore::iterator</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00042">42</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="0d7ddf276c76fa7933fa445ca3edcf5a"></a><!-- doxytag: member="dtn::BundleStore::BundleStore" ref="0d7ddf276c76fa7933fa445ca3edcf5a" args="(const DTNStorageConfig &cfg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::BundleStore::BundleStore </td> <td>(</td> <td class="paramtype">const <a class="el" href="classdtn_1_1DTNStorageConfig.html">DTNStorageConfig</a> & </td> <td class="paramname"> <em>cfg</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. <p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00030">30</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>Referenced by <a class="el" href="BundleStore_8cc-source.html#l00042">init()</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="98d13600ce59a19e79d256518c32e314"></a><!-- doxytag: member="dtn::BundleStore::init" ref="98d13600ce59a19e79d256518c32e314" args="(const DTNStorageConfig &cfg, oasys::DurableStore *store)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dtn::BundleStore::init </td> <td>(</td> <td class="paramtype">const <a class="el" href="classdtn_1_1DTNStorageConfig.html">DTNStorageConfig</a> & </td> <td class="paramname"> <em>cfg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">oasys::DurableStore * </td> <td class="paramname"> <em>store</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Boot time initializer that takes as a parameter the storage configuration to use. <p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00042">42</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>References <a class="el" href="BundleStore_8cc-source.html#l00030">BundleStore()</a>.</p> <p>Referenced by <a class="el" href="DTNServer_8cc-source.html#l00103">dtn::DTNServer::init_datastore()</a>.</p> </div> </div><p> <a class="anchor" name="c4bccdb52cfebbdc5409ce4611e98da2"></a><!-- doxytag: member="dtn::BundleStore::add" ref="c4bccdb52cfebbdc5409ce4611e98da2" args="(Bundle *bundle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleStore::add </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> * </td> <td class="paramname"> <em>bundle</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Add a new bundle. <p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00054">54</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00089">bundles_</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00121">dtn::Bundle::durable_size()</a>, and <a class="el" href="BundleStore_8h-source.html#l00091">total_size_</a>.</p> </div> </div><p> <a class="anchor" name="dc21e162bbb18024768467a8005048ac"></a><!-- doxytag: member="dtn::BundleStore::get" ref="dc21e162bbb18024768467a8005048ac" args="(u_int32_t bundleid)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> * dtn::BundleStore::get </td> <td>(</td> <td class="paramtype">u_int32_t </td> <td class="paramname"> <em>bundleid</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Retrieve a bundle. <p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00065">65</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00089">bundles_</a>.</p> <p>Referenced by <a class="el" href="BundleDaemon_8cc-source.html#l02457">dtn::BundleDaemon::load_bundles()</a>.</p> </div> </div><p> <a class="anchor" name="3821a93fdc9d3566951764be76d2c649"></a><!-- doxytag: member="dtn::BundleStore::update" ref="3821a93fdc9d3566951764be76d2c649" args="(Bundle *bundle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleStore::update </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> * </td> <td class="paramname"> <em>bundle</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Update the metabundle for the bundle. <p> <p>Reimplemented in <a class="el" href="classdtn_1_1SQLBundleStore.html#e29628d27fbc362bd3b50785a4f207b5">dtn::SQLBundleStore</a>.</p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00072">72</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00089">bundles_</a>.</p> </div> </div><p> <a class="anchor" name="87d444672b4bdb825be09b0ad3b37150"></a><!-- doxytag: member="dtn::BundleStore::del" ref="87d444672b4bdb825be09b0ad3b37150" args="(Bundle *bundle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleStore::del </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> * </td> <td class="paramname"> <em>bundle</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Delete the bundle. <p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00079">79</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00201">dtn::Bundle::bundleid()</a>, <a class="el" href="BundleStore_8h-source.html#l00089">bundles_</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00121">dtn::Bundle::durable_size()</a>, and <a class="el" href="BundleStore_8h-source.html#l00091">total_size_</a>.</p> </div> </div><p> <a class="anchor" name="2018d15d04bd544f78dc8bb4b23c4df2"></a><!-- doxytag: member="dtn::BundleStore::new_iterator" ref="2018d15d04bd544f78dc8bb4b23c4df2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1BundleStore.html#fb4b85e14a877a86628c0b6bcf619e68">BundleStore::iterator</a> * dtn::BundleStore::new_iterator </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Return a new iterator. <p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00091">91</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00089">bundles_</a>.</p> <p>Referenced by <a class="el" href="BundleDaemon_8cc-source.html#l02457">dtn::BundleDaemon::load_bundles()</a>.</p> </div> </div><p> <a class="anchor" name="65ec6e97b58f4b9cab96cad6968145ab"></a><!-- doxytag: member="dtn::BundleStore::close" ref="65ec6e97b58f4b9cab96cad6968145ab" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::BundleStore::close </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Close down the table. <p> <p>Definition at line <a class="el" href="BundleStore_8cc-source.html#l00098">98</a> of file <a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00089">bundles_</a>.</p> </div> </div><p> <a class="anchor" name="86524d860e9407dd3d0613e81a9990d2"></a><!-- doxytag: member="dtn::BundleStore::payload_dir" ref="86524d860e9407dd3d0613e81a9990d2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::string& dtn::BundleStore::payload_dir </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00075">75</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00088">cfg_</a>, and <a class="el" href="DTNStorageConfig_8h-source.html#l00042">dtn::DTNStorageConfig::payload_dir_</a>.</p> <p>Referenced by <a class="el" href="BundlePayload_8cc-source.html#l00048">dtn::BundlePayload::init()</a>, and <a class="el" href="BundlePayload_8cc-source.html#l00108">dtn::BundlePayload::init_from_store()</a>.</p> </div> </div><p> <a class="anchor" name="8a503100de1f9c00d38fa66aebd78da1"></a><!-- doxytag: member="dtn::BundleStore::payload_quota" ref="8a503100de1f9c00d38fa66aebd78da1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int64_t dtn::BundleStore::payload_quota </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00076">76</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00088">cfg_</a>, and <a class="el" href="DTNStorageConfig_8h-source.html#l00045">dtn::DTNStorageConfig::payload_quota_</a>.</p> <p>Referenced by <a class="el" href="BundleRouter_8cc-source.html#l00201">dtn::BundleRouter::accept_bundle()</a>.</p> </div> </div><p> <a class="anchor" name="c3df23a2c4d9d3714d088f36d07c1ba2"></a><!-- doxytag: member="dtn::BundleStore::payload_fdcache" ref="c3df23a2c4d9d3714d088f36d07c1ba2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1BundleStore.html#7f6ec449ca0ee33258d444af8426510d">FdCache</a>* dtn::BundleStore::payload_fdcache </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00077">77</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00090">payload_fdcache_</a>.</p> <p>Referenced by <a class="el" href="BundlePayload_8cc-source.html#l00048">dtn::BundlePayload::init()</a>, <a class="el" href="BundlePayload_8cc-source.html#l00108">dtn::BundlePayload::init_from_store()</a>, <a class="el" href="BundlePayload_8cc-source.html#l00174">dtn::BundlePayload::pin_file()</a>, and <a class="el" href="BundlePayload_8cc-source.html#l00250">dtn::BundlePayload::replace_with_file()</a>.</p> </div> </div><p> <a class="anchor" name="b360ea44c0fbb86453a1b53174154ddb"></a><!-- doxytag: member="dtn::BundleStore::total_size" ref="b360ea44c0fbb86453a1b53174154ddb" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int64_t dtn::BundleStore::total_size </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00078">78</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00091">total_size_</a>.</p> <p>Referenced by <a class="el" href="BundleRouter_8cc-source.html#l00201">dtn::BundleRouter::accept_bundle()</a>.</p> </div> </div><p> <a class="anchor" name="e353ebf2181c93689adde1ba532192e0"></a><!-- doxytag: member="dtn::BundleStore::set_total_size" ref="e353ebf2181c93689adde1ba532192e0" args="(u_int64_t sz)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::BundleStore::set_total_size </td> <td>(</td> <td class="paramtype">u_int64_t </td> <td class="paramname"> <em>sz</em> </td> <td> ) </td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> When the bundle store is loaded at boot time, we need to reset the in-memory total_size_ parameter. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00086">86</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>References <a class="el" href="BundleStore_8h-source.html#l00091">total_size_</a>.</p> <p>Referenced by <a class="el" href="BundleDaemon_8cc-source.html#l02457">dtn::BundleDaemon::load_bundles()</a>.</p> </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="fc7f6330f6d1e3b33bfc1e2e1c751537"></a><!-- doxytag: member="dtn::BundleStore::BundleDaemon" ref="fc7f6330f6d1e3b33bfc1e2e1c751537" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="classdtn_1_1BundleDaemon.html">BundleDaemon</a><code> [friend]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00082">82</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="3f8c7283db7c084c29f7688ee2597dec"></a><!-- doxytag: member="dtn::BundleStore::cfg_" ref="3f8c7283db7c084c29f7688ee2597dec" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classdtn_1_1DTNStorageConfig.html">DTNStorageConfig</a>& <a class="el" href="classdtn_1_1BundleStore.html#3f8c7283db7c084c29f7688ee2597dec">dtn::BundleStore::cfg_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> Storage configuration. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00088">88</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>Referenced by <a class="el" href="BundleStore_8h-source.html#l00075">payload_dir()</a>, and <a class="el" href="BundleStore_8h-source.html#l00076">payload_quota()</a>.</p> </div> </div><p> <a class="anchor" name="6276fa50b81e2907ace7e7a10d270650"></a><!-- doxytag: member="dtn::BundleStore::bundles_" ref="6276fa50b81e2907ace7e7a10d270650" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1BundleStore.html#17dedcf81fa5b62013a4754fe48409fb">BundleTable</a> <a class="el" href="classdtn_1_1BundleStore.html#6276fa50b81e2907ace7e7a10d270650">dtn::BundleStore::bundles_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <a class="el" href="classdtn_1_1Bundle.html" title="The internal representation of a bundle.">Bundle</a> metabundle table. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00089">89</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>Referenced by <a class="el" href="BundleStore_8cc-source.html#l00054">add()</a>, <a class="el" href="BundleStore_8cc-source.html#l00098">close()</a>, <a class="el" href="BundleStore_8cc-source.html#l00079">del()</a>, <a class="el" href="BundleStore_8cc-source.html#l00065">get()</a>, <a class="el" href="BundleStore_8cc-source.html#l00091">new_iterator()</a>, and <a class="el" href="BundleStore_8cc-source.html#l00072">update()</a>.</p> </div> </div><p> <a class="anchor" name="187e6b5009ecf6ba0bf84e46da520234"></a><!-- doxytag: member="dtn::BundleStore::payload_fdcache_" ref="187e6b5009ecf6ba0bf84e46da520234" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1BundleStore.html#7f6ec449ca0ee33258d444af8426510d">FdCache</a> <a class="el" href="classdtn_1_1BundleStore.html#187e6b5009ecf6ba0bf84e46da520234">dtn::BundleStore::payload_fdcache_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> File descriptor cache. <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00090">90</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>Referenced by <a class="el" href="BundleStore_8h-source.html#l00077">payload_fdcache()</a>.</p> </div> </div><p> <a class="anchor" name="ffb89e9cd7f3ce15c9c136fd31474a2e"></a><!-- doxytag: member="dtn::BundleStore::total_size_" ref="ffb89e9cd7f3ce15c9c136fd31474a2e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int64_t <a class="el" href="classdtn_1_1BundleStore.html#ffb89e9cd7f3ce15c9c136fd31474a2e">dtn::BundleStore::total_size_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BundleStore_8h-source.html#l00091">91</a> of file <a class="el" href="BundleStore_8h-source.html">BundleStore.h</a>.</p> <p>Referenced by <a class="el" href="BundleStore_8cc-source.html#l00054">add()</a>, <a class="el" href="BundleStore_8cc-source.html#l00079">del()</a>, <a class="el" href="BundleStore_8h-source.html#l00086">set_total_size()</a>, and <a class="el" href="BundleStore_8h-source.html#l00078">total_size()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="BundleStore_8h-source.html">BundleStore.h</a><li><a class="el" href="BundleStore_8cc-source.html">BundleStore.cc</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 21 14:09:55 2008 for DTN Reference Implementation by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>