Sophie

Sophie

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

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: dtn::BundleList Class Reference</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 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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1BundleList.html">BundleList</a>
  </div>
</div>
<div class="contents">
<h1>dtn::BundleList Class Reference</h1><!-- doxytag: class="dtn::BundleList" -->List structure for handling bundles.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="bundling_2BundleList_8h-source.html">BundleList.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dtn::BundleList:</div>
<div class="dynsection">

<p><center><img src="classdtn_1_1BundleList.png" usemap="#dtn::BundleList_map" border="0" alt=""></center>
<map name="dtn::BundleList_map">
<area href="classdtn_1_1BlockingBundleList.html" alt="dtn::BlockingBundleList" shape="rect" coords="0,56,141,80">
</map>
</div>

<p>
<a href="classdtn_1_1BundleList-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#d2d5945081bd01b79d0cc2763f777f9c">sort_order_t</a> { <a class="el" href="classdtn_1_1BundleList.html#d2d5945081bd01b79d0cc2763f777f9c3d4fdc077df1797183a86a4fa1b5897d">SORT_PRIORITY</a> =  0x1, 
<a class="el" href="classdtn_1_1BundleList.html#d2d5945081bd01b79d0cc2763f777f9cb2a2c26a05eb8ccc46223f08f368e744">SORT_FRAG_OFFSET</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type codes for sorted insertion.  <a href="classdtn_1_1BundleList.html#d2d5945081bd01b79d0cc2763f777f9c">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef List::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for an iterator, which just wraps an stl iterator.  <a href="#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#0ea669c5b8ab3dc87d18e1e8b9bf70ff">BundleList</a> (const std::string &amp;name, oasys::SpinLock *lock=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#0ea669c5b8ab3dc87d18e1e8b9bf70ff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#aa529667435de9a1477d192630f75ab7">~BundleList</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor -- clears the list.  <a href="#aa529667435de9a1477d192630f75ab7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#3ff5877316c9c9c08b161b977e48b701">front</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Peek at the first bundle on the list.  <a href="#3ff5877316c9c9c08b161b977e48b701"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#873df4500212eae079e89fdbfe855e92">back</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Peek at the last bundle on the list.  <a href="#873df4500212eae079e89fdbfe855e92"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#6a51b84005fdf2d5c89ed5231de61cf8">push_front</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new bundle to the front of the list.  <a href="#6a51b84005fdf2d5c89ed5231de61cf8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#ad10fc07ec2026eca6ad87f434ba2f18">push_front</a> (const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;bundle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new bundle to the front of the list.  <a href="#ad10fc07ec2026eca6ad87f434ba2f18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#9f3efd0593739e89ed478fd4bbccd3e0">push_back</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new bundle to the back of the list.  <a href="#9f3efd0593739e89ed478fd4bbccd3e0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#c57c60f97ecf647fe5f5e33308636c1c">push_back</a> (const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;bundle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new bundle to the back of the list.  <a href="#c57c60f97ecf647fe5f5e33308636c1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#b9b4a6a57883a5df56779c5ee633434f">insert_sorted</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle, <a class="el" href="classdtn_1_1BundleList.html#d2d5945081bd01b79d0cc2763f777f9c">sort_order_t</a> sort_order)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert the given bundle sorted by the given sort method.  <a href="#b9b4a6a57883a5df56779c5ee633434f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#ed4600017614f1193d4781e1a1a34301">insert_random</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">As a testing hook, insert the given bundle into a random location in the list.  <a href="#ed4600017614f1193d4781e1a1a34301"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#265a9efd0831be3094f815eed22aec42">pop_front</a> (<a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> used_notifier=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove (and return) a reference to the first bundle on the list.  <a href="#265a9efd0831be3094f815eed22aec42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#3429d8c70e63925609713c6d6fbd51fe">pop_back</a> (<a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> used_notifier=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove (and return) the last bundle on the list.  <a href="#3429d8c70e63925609713c6d6fbd51fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#b0171458e14d67307b74f98447062d68">erase</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> used_notifier=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the given bundle from the list.  <a href="#b0171458e14d67307b74f98447062d68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#0cdc33c3f76b2ac3756d763fde42bd7e">erase</a> (const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;bundle, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> used_notifier=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#8030a392379011551fb796f08a213934">erase</a> (<a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a> &amp;iter, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> used_notifier=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the bundle at the given list position.  <a href="#8030a392379011551fb796f08a213934"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#6398bb64194aa88b63e7d0e89e141883">contains</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search the list for the given bundle.  <a href="#6398bb64194aa88b63e7d0e89e141883"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#395f46f3d1551dc142e687d39d44058b">contains</a> (const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;bundle) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search the list for the given bundle.  <a href="#395f46f3d1551dc142e687d39d44058b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#2958520b5b132bb3ed3f3e26c1eb295e">find</a> (u_int32_t bundleid) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search the list for a bundle with the given id.  <a href="#2958520b5b132bb3ed3f3e26c1eb295e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#85166bbc1da207c0356ca79d8087f76c">find</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;source_eid, const <a class="el" href="structdtn_1_1BundleTimestamp.html">BundleTimestamp</a> &amp;creation_ts) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search the list for a bundle with the given source eid and timestamp.  <a href="#85166bbc1da207c0356ca79d8087f76c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#989b3b33ea16a03ed9bf8a4302bebdb0">find</a> (<a class="el" href="classdtn_1_1GbofId.html">GbofId</a> &amp;gbof_id) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search the list for a bundle with the given GBOF ID.  <a href="#989b3b33ea16a03ed9bf8a4302bebdb0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#f6723c87d4da6a2ca6eb63f06746ea1c">find</a> (const <a class="el" href="classdtn_1_1GbofId.html">GbofId</a> &amp;gbof_id, const <a class="el" href="structdtn_1_1BundleTimestamp.html">BundleTimestamp</a> &amp;extended_id) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search the list for a bundle with the given GBOF ID and extended (local) ID.  <a href="#f6723c87d4da6a2ca6eb63f06746ea1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#af966a2b08526b4fee25b8890f7e5dcd">move_contents</a> (<a class="el" href="classdtn_1_1BundleList.html">BundleList</a> *other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move all bundles from this list to another.  <a href="#af966a2b08526b4fee25b8890f7e5dcd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#3dfbaddbb0847b93c86e50190d173f63">clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear out the list.  <a href="#3dfbaddbb0847b93c86e50190d173f63"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#3c50c6f421631a4dd72b7b77b0660bc3">size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the size of the list.  <a href="#3c50c6f421631a4dd72b7b77b0660bc3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#3ca5e173510164b46c8de9a95147f20d">empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether or not the list is empty.  <a href="#3ca5e173510164b46c8de9a95147f20d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#24cd371acd62f2f9725ff3f92b55badf">begin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator used to iterate through the list.  <a href="#24cd371acd62f2f9725ff3f92b55badf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#19f95941fe436d25ba49ae0b2d8bf2c1">end</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator used to mark the end of the list.  <a href="#19f95941fe436d25ba49ae0b2d8bf2c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::SpinLock *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#0d0c9f789f0f7f7d1cda3b4ecf32d2bc">lock</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the internal lock on this list.  <a href="#0d0c9f789f0f7f7d1cda3b4ecf32d2bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#fe57f15c8a9270d90861739598390c78">name</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the identifier name of this list.  <a href="#fe57f15c8a9270d90861739598390c78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#463faba73c168a921d04e6e9d0aac756">set_name</a> (const std::string &amp;name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the name (useful for classes that are unserialized).  <a href="#463faba73c168a921d04e6e9d0aac756"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::SpinLock *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#be75dd18cbd95df447ff602cedd3ba0b">lock_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">lock for notifier  <a href="#be75dd18cbd95df447ff602cedd3ba0b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#b42f8cdc7fa16407d38975d514009861">own_lock_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bit to define lock ownership  <a href="#b42f8cdc7fa16407d38975d514009861"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::Notifier *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#bf8997bf56c3876e1bc96e8b2ce895e8">notifier_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">notifier for blocking list  <a href="#bf8997bf56c3876e1bc96e8b2ce895e8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::list&lt; <a class="el" href="classdtn_1_1Bundle.html">Bundle</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#95d1259601419d0c4147ac12d4f1f736">List</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for the list itself (private since it's irrelevant to the outside).  <a href="#95d1259601419d0c4147ac12d4f1f736"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#9c3bcf8d558346d1224b25869251f2ef">add_bundle</a> (<a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *bundle, const <a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a> &amp;pos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper routine to add a bundle at the indicated position.  <a href="#9c3bcf8d558346d1224b25869251f2ef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#706792027fe0123f940bf2dadb842eb0">del_bundle</a> (const <a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a> &amp;pos, <a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> used_notifier)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper routine to remove a bundle from the indicated position.  <a href="#706792027fe0123f940bf2dadb842eb0"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#2a113958b7214c732602d956bc99a2f9">name_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">name of the list  <a href="#2a113958b7214c732602d956bc99a2f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BundleList.html#95d1259601419d0c4147ac12d4f1f736">List</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1BundleList.html#2fa0c115e2436adbe8e03795c1fa2723">list_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">underlying list data structure  <a href="#2fa0c115e2436adbe8e03795c1fa2723"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
List structure for handling bundles. 
<p>
All list operations are protected with a spin lock so they are thread safe. In addition, the lock itself is exposed so a routine that needs to perform more complicated functions (like scanning the list) must lock the list before doing so.<p>
NOTE: It is important that no locks be held on any bundles that might be contained within the list when calling list manipulation functions. Doing so could cause a potential deadlock due to a lock ordering violation, as the list manipulation routines first lock the list, and then lock the bundle(s) being added or removed.<p>
The internal data structure is an STL list of <a class="el" href="classdtn_1_1Bundle.html" title="The internal representation of a bundle.">Bundle</a> pointers. The list is also derived from Notifier, and the various push() calls will call notify() if there is a thread blocked on an empty list waiting for notification.<p>
List methods also maintain mappings (i.e. "back pointers") in each <a class="el" href="classdtn_1_1Bundle.html" title="The internal representation of a bundle.">Bundle</a> instance to the set of lists that contain the bundle.<p>
Lists follow the reference counting rules for bundles. In particular, the push*() methods increment the reference count, and <a class="el" href="classdtn_1_1BundleList.html#b0171458e14d67307b74f98447062d68" title="Remove the given bundle from the list.">erase()</a> decrements it. In particular, the pop() variants (as well as the other accessors) return instances of the BundleRef classes that forces the caller to use the BundleRef classes as well in order to properly maintain the reference counts. 
<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00067">67</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="1d52b8d6bb7d8a07e5d4f5fc4b5b61d2"></a><!-- doxytag: member="dtn::BundleList::iterator" ref="1d52b8d6bb7d8a07e5d4f5fc4b5b61d2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef List::iterator <a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">dtn::BundleList::iterator</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type for an iterator, which just wraps an stl iterator. 
<p>
We don't ever use the stl const_iterator type since list mutations are protected via this class' methods. 
<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00081">81</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="95d1259601419d0c4147ac12d4f1f736"></a><!-- doxytag: member="dtn::BundleList::List" ref="95d1259601419d0c4147ac12d4f1f736" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="classdtn_1_1Bundle.html">Bundle</a>*&gt; <a class="el" href="classdtn_1_1BundleList.html#95d1259601419d0c4147ac12d4f1f736">dtn::BundleList::List</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type for the list itself (private since it's irrelevant to the outside). 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00073">73</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="d2d5945081bd01b79d0cc2763f777f9c"></a><!-- doxytag: member="dtn::BundleList::sort_order_t" ref="d2d5945081bd01b79d0cc2763f777f9c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classdtn_1_1BundleList.html#d2d5945081bd01b79d0cc2763f777f9c">dtn::BundleList::sort_order_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type codes for sorted insertion. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="d2d5945081bd01b79d0cc2763f777f9c3d4fdc077df1797183a86a4fa1b5897d"></a><!-- doxytag: member="SORT_PRIORITY" ref="d2d5945081bd01b79d0cc2763f777f9c3d4fdc077df1797183a86a4fa1b5897d" args="" -->SORT_PRIORITY</em>&nbsp;</td><td>
Sort by bundle priority. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="d2d5945081bd01b79d0cc2763f777f9cb2a2c26a05eb8ccc46223f08f368e744"></a><!-- doxytag: member="SORT_FRAG_OFFSET" ref="d2d5945081bd01b79d0cc2763f777f9cb2a2c26a05eb8ccc46223f08f368e744" args="" -->SORT_FRAG_OFFSET</em>&nbsp;</td><td>
Sort by fragment offset. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00136">136</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="0ea669c5b8ab3dc87d18e1e8b9bf70ff"></a><!-- doxytag: member="dtn::BundleList::BundleList" ref="0ea669c5b8ab3dc87d18e1e8b9bf70ff" args="(const std::string &amp;name, oasys::SpinLock *lock=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::BundleList::BundleList           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oasys::SpinLock *&nbsp;</td>
          <td class="paramname"> <em>lock</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00033">33</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00320">own_lock_</a>.</p>

</div>
</div><p>
<a class="anchor" name="aa529667435de9a1477d192630f75ab7"></a><!-- doxytag: member="dtn::BundleList::~BundleList" ref="aa529667435de9a1477d192630f75ab7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dtn::BundleList::~BundleList           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor -- clears the list. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00055">55</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00446">clear()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00320">own_lock_</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="9c3bcf8d558346d1224b25869251f2ef"></a><!-- doxytag: member="dtn::BundleList::add_bundle" ref="9c3bcf8d558346d1224b25869251f2ef" args="(Bundle *bundle, const iterator &amp;pos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::add_bundle           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper routine to add a bundle at the indicated position. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00094">94</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="Bundle_8cc-source.html#l00286">dtn::Bundle::add_ref()</a>, <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="Bundle_8cc-source.html#l00358">dtn::Bundle::is_queued_on()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, <a class="el" href="Bundle_8cc-source.html#l00348">dtn::Bundle::mappings()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00321">notifier_</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00174">insert_random()</a>, <a class="el" href="BundleList_8cc-source.html#l00139">insert_sorted()</a>, <a class="el" href="BundleList_8cc-source.html#l00130">push_back()</a>, and <a class="el" href="BundleList_8cc-source.html#l00121">push_front()</a>.</p>

</div>
</div><p>
<a class="anchor" name="873df4500212eae079e89fdbfe855e92"></a><!-- doxytag: member="dtn::BundleList::back" ref="873df4500212eae079e89fdbfe855e92" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::back           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Peek at the last bundle on the list. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the bundle or NULL if the list is empty </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00080">80</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

</div>
</div><p>
<a class="anchor" name="24cd371acd62f2f9725ff3f92b55badf"></a><!-- doxytag: member="dtn::BundleList::begin" ref="24cd371acd62f2f9725ff3f92b55badf" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">BundleList::iterator</a> dtn::BundleList::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterator used to iterate through the list. 
<p>
Iterations _must_ be completed while holding the list lock, and this method will assert as such. 
<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00475">475</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, <a class="el" href="FragmentState_8cc-source.html#l00042">dtn::FragmentState::check_completed()</a>, <a class="el" href="BundleList_8cc-source.html#l00329">contains()</a>, <a class="el" href="BundleCommand_8cc-source.html#l00112">dtn::BundleCommand::exec()</a>, <a class="el" href="ProphetBundleList_8cc-source.html#l00115">dtn::ProphetBundleList::find()</a>, <a class="el" href="BundleList_8cc-source.html#l00350">find()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02334">dtn::BundleDaemon::find_duplicate()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l01289">dtn::BundleDaemon::handle_registration_added()</a>, <a class="el" href="BundleList_8cc-source.html#l00174">insert_random()</a>, <a class="el" href="ProphetBundleCore_8cc-source.html#l00062">dtn::ProphetBundleCore::load_dtn_bundles()</a>, <a class="el" href="Simulator_8cc-source.html#l00108">dtnsim::Simulator::log_inqueue_stats()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00880">dtn::TableBasedRouter::reroute_all_bundles()</a>, and <a class="el" href="DTLSRRouter_8cc-source.html#l00632">dtn::DTLSRRouter::update_current_lsa()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3dfbaddbb0847b93c86e50190d173f63"></a><!-- doxytag: member="dtn::BundleList::clear" ref="3dfbaddbb0847b93c86e50190d173f63" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear out the list. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00446">446</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, and <a class="el" href="BundleList_8cc-source.html#l00235">pop_front()</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00055">~BundleList()</a>.</p>

</div>
</div><p>
<a class="anchor" name="395f46f3d1551dc142e687d39d44058b"></a><!-- doxytag: member="dtn::BundleList::contains" ref="395f46f3d1551dc142e687d39d44058b" args="(const BundleRef &amp;bundle) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleList::contains           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Search the list for the given bundle. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if found, false if not </dd></dl>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00209">209</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00329">contains()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6398bb64194aa88b63e7d0e89e141883"></a><!-- doxytag: member="dtn::BundleList::contains" ref="6398bb64194aa88b63e7d0e89e141883" args="(Bundle *bundle) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleList::contains           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Search the list for the given bundle. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if found, false if not </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00329">329</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">end()</a>, <a class="el" href="BundleList_8cc-source.html#l00350">find()</a>, <a class="el" href="Bundle_8cc-source.html#l00358">dtn::Bundle::is_queued_on()</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00948">dtn::TableBasedRouter::TableBasedRouter::DeferredList::add()</a>, <a class="el" href="Link_8cc-source.html#l00481">dtn::Link::add_to_queue()</a>, <a class="el" href="DTLSRRouter_8cc-source.html#l00238">dtn::DTLSRRouter::can_delete_bundle()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00209">contains()</a>, <a class="el" href="DTLSRRouter_8cc-source.html#l00254">dtn::DTLSRRouter::delete_bundle()</a>, <a class="el" href="DTLSRRouter_8cc-source.html#l00291">dtn::DTLSRRouter::handle_bundle_expired()</a>, and <a class="el" href="BundleDaemon_8cc-source.html#l01962">dtn::BundleDaemon::handle_custody_timeout()</a>.</p>

</div>
</div><p>
<a class="anchor" name="706792027fe0123f940bf2dadb842eb0"></a><!-- doxytag: member="dtn::BundleList::del_bundle" ref="706792027fe0123f940bf2dadb842eb0" args="(const iterator &amp;pos, bool used_notifier)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> * dtn::BundleList::del_bundle           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>used_notifier</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper routine to remove a bundle from the indicated position. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Position to delete </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>used_notifier</em>&nbsp;</td><td>Popping off of the <a class="el" href="classdtn_1_1BundleList.html" title="List structure for handling bundles.">BundleList</a> after coming off of a notifier. This will drain one item off of the notifier queue.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the bundle that, before this call, was at the position </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00197">197</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.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="BundleMappings_8cc-source.html#l00028">dtn::BundleMappings::find()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, <a class="el" href="Bundle_8cc-source.html#l00348">dtn::Bundle::mappings()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00321">notifier_</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00275">erase()</a>, <a class="el" href="BundleList_8cc-source.html#l00256">pop_back()</a>, and <a class="el" href="BundleList_8cc-source.html#l00235">pop_front()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3ca5e173510164b46c8de9a95147f20d"></a><!-- doxytag: member="dtn::BundleList::empty" ref="3ca5e173510164b46c8de9a95147f20d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleList::empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return whether or not the list is empty. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00467">467</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="FragmentManager_8cc-source.html#l00465">dtn::FragmentManager::delete_obsoleted_fragments()</a>, <a class="el" href="BundleList_8cc-source.html#l00174">insert_random()</a>, <a class="el" href="BundleList_8cc-source.html#l00513">dtn::BlockingBundleList::pop_blocking()</a>, <a class="el" href="BundleList_8cc-source.html#l00235">pop_front()</a>, and <a class="el" href="APIServer_8cc-source.html#l01620">dtn::APIClient::wait_for_notify()</a>.</p>

</div>
</div><p>
<a class="anchor" name="19f95941fe436d25ba49ae0b2d8bf2c1"></a><!-- doxytag: member="dtn::BundleList::end" ref="19f95941fe436d25ba49ae0b2d8bf2c1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">BundleList::iterator</a> dtn::BundleList::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterator used to mark the end of the list. 
<p>
Iterations _must_ be completed while holding the list lock, and this method will assert as such. 
<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00488">488</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, <a class="el" href="FragmentState_8cc-source.html#l00042">dtn::FragmentState::check_completed()</a>, <a class="el" href="BundleList_8cc-source.html#l00329">contains()</a>, <a class="el" href="BundleCommand_8cc-source.html#l00112">dtn::BundleCommand::exec()</a>, <a class="el" href="ProphetBundleList_8cc-source.html#l00115">dtn::ProphetBundleList::find()</a>, <a class="el" href="BundleList_8cc-source.html#l00350">find()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02334">dtn::BundleDaemon::find_duplicate()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l01289">dtn::BundleDaemon::handle_registration_added()</a>, <a class="el" href="ProphetBundleCore_8cc-source.html#l00062">dtn::ProphetBundleCore::load_dtn_bundles()</a>, <a class="el" href="Simulator_8cc-source.html#l00108">dtnsim::Simulator::log_inqueue_stats()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00880">dtn::TableBasedRouter::reroute_all_bundles()</a>, and <a class="el" href="DTLSRRouter_8cc-source.html#l00632">dtn::DTLSRRouter::update_current_lsa()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8030a392379011551fb796f08a213934"></a><!-- doxytag: member="dtn::BundleList::erase" ref="8030a392379011551fb796f08a213934" args="(iterator &amp;iter, bool used_notifier=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::erase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1BundleList.html#1d52b8d6bb7d8a07e5d4f5fc4b5b61d2">iterator</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>used_notifier</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove the bundle at the given list position. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00313">313</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="Bundle_8cc-source.html#l00307">dtn::Bundle::del_ref()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>.</p>

</div>
</div><p>
<a class="anchor" name="0cdc33c3f76b2ac3756d763fde42bd7e"></a><!-- doxytag: member="dtn::BundleList::erase" ref="0cdc33c3f76b2ac3756d763fde42bd7e" args="(const BundleRef &amp;bundle, bool used_notifier=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleList::erase           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bundle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>used_notifier</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00188">188</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00275">erase()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b0171458e14d67307b74f98447062d68"></a><!-- doxytag: member="dtn::BundleList::erase" ref="b0171458e14d67307b74f98447062d68" args="(Bundle *bundle, bool used_notifier=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::BundleList::erase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>used_notifier</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove the given bundle from the list. 
<p>
Returns true if the bundle was successfully removed, false otherwise.<p>
Unlike the pop() functions, this does remove the list's reference on the bundle. 
<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00275">275</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="Bundle_8cc-source.html#l00307">dtn::Bundle::del_ref()</a>, <a class="el" href="BundleMappings_8cc-source.html#l00028">dtn::BundleMappings::find()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, <a class="el" href="Bundle_8cc-source.html#l00348">dtn::Bundle::mappings()</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00970">dtn::TableBasedRouter::TableBasedRouter::DeferredList::del()</a>, <a class="el" href="Link_8cc-source.html#l00552">dtn::Link::del_from_inflight()</a>, <a class="el" href="Link_8cc-source.html#l00502">dtn::Link::del_from_queue()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00342">dtn::TableBasedRouter::delete_bundle()</a>, <a class="el" href="DTLSRRouter_8cc-source.html#l00254">dtn::DTLSRRouter::delete_bundle()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02180">dtn::BundleDaemon::delete_from_pending()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00188">erase()</a>, <a class="el" href="FragmentState_8cc-source.html#l00035">dtn::FragmentState::erase_fragment()</a>, <a class="el" href="FloodBundleRouter_8cc-source.html#l00087">dtn::FloodBundleRouter::handle_bundle_expired()</a>, <a class="el" href="DTLSRRouter_8cc-source.html#l00291">dtn::DTLSRRouter::handle_bundle_expired()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l00349">dtn::BundleDaemon::release_custody()</a>, and <a class="el" href="DTLSRRouter_8cc-source.html#l00632">dtn::DTLSRRouter::update_current_lsa()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f6723c87d4da6a2ca6eb63f06746ea1c"></a><!-- doxytag: member="dtn::BundleList::find" ref="f6723c87d4da6a2ca6eb63f06746ea1c" args="(const GbofId &amp;gbof_id, const BundleTimestamp &amp;extended_id) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::find           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1GbofId.html">GbofId</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>gbof_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdtn_1_1BundleTimestamp.html">BundleTimestamp</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>extended_id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Search the list for a bundle with the given GBOF ID and extended (local) ID. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the bundle or NULL if not found. </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00409">409</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">end()</a>, <a class="el" href="GbofId_8cc-source.html#l00079">dtn::GbofId::equals()</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

</div>
</div><p>
<a class="anchor" name="989b3b33ea16a03ed9bf8a4302bebdb0"></a><!-- doxytag: member="dtn::BundleList::find" ref="989b3b33ea16a03ed9bf8a4302bebdb0" args="(GbofId &amp;gbof_id) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::find           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1GbofId.html">GbofId</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>gbof_id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Search the list for a bundle with the given GBOF ID. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the bundle or NULL if not found. </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00387">387</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">end()</a>, <a class="el" href="GbofId_8cc-source.html#l00079">dtn::GbofId::equals()</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

</div>
</div><p>
<a class="anchor" name="85166bbc1da207c0356ca79d8087f76c"></a><!-- doxytag: member="dtn::BundleList::find" ref="85166bbc1da207c0356ca79d8087f76c" args="(const EndpointID &amp;source_eid, const BundleTimestamp &amp;creation_ts) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::find           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>source_eid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structdtn_1_1BundleTimestamp.html">BundleTimestamp</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>creation_ts</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Search the list for a bundle with the given source eid and timestamp. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the bundle or a reference to NULL if the list is empty. </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00366">366</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">end()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, <a class="el" href="BundleTimestamp_8h-source.html#l00031">dtn::BundleTimestamp::seconds_</a>, and <a class="el" href="BundleTimestamp_8h-source.html#l00032">dtn::BundleTimestamp::seqno_</a>.</p>

</div>
</div><p>
<a class="anchor" name="2958520b5b132bb3ed3f3e26c1eb295e"></a><!-- doxytag: member="dtn::BundleList::find" ref="2958520b5b132bb3ed3f3e26c1eb295e" args="(u_int32_t bundleid) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::find           </td>
          <td>(</td>
          <td class="paramtype">u_int32_t&nbsp;</td>
          <td class="paramname"> <em>bundleid</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Search the list for a bundle with the given id. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the bundle or a reference to NULL if the list is empty. </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00350">350</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">end()</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00329">contains()</a>, <a class="el" href="BundleCommand_8cc-source.html#l00112">dtn::BundleCommand::exec()</a>, and <a class="el" href="BundleDaemon_8cc-source.html#l01908">dtn::BundleDaemon::handle_custody_signal()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3ff5877316c9c9c08b161b977e48b701"></a><!-- doxytag: member="dtn::BundleList::front" ref="3ff5877316c9c9c08b161b977e48b701" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::front           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Peek at the first bundle on the list. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the bundle or NULL if the list is empty </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00066">66</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="ProphetBundleList_8cc-source.html#l00102">dtn::ProphetBundleList::clear()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ed4600017614f1193d4781e1a1a34301"></a><!-- doxytag: member="dtn::BundleList::insert_random" ref="ed4600017614f1193d4781e1a1a34301" args="(Bundle *bundle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::insert_random           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
As a testing hook, insert the given bundle into a random location in the list. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00174">174</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00467">empty()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, and <a class="el" href="BundleList_8cc-source.html#l00459">size()</a>.</p>

<p>Referenced by <a class="el" href="APIRegistration_8cc-source.html#l00080">dtn::APIRegistration::deliver_bundle()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b9b4a6a57883a5df56779c5ee633434f"></a><!-- doxytag: member="dtn::BundleList::insert_sorted" ref="b9b4a6a57883a5df56779c5ee633434f" args="(Bundle *bundle, sort_order_t sort_order)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::insert_sorted           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdtn_1_1BundleList.html#d2d5945081bd01b79d0cc2763f777f9c">sort_order_t</a>&nbsp;</td>
          <td class="paramname"> <em>sort_order</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert the given bundle sorted by the given sort method. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00139">139</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00222">dtn::Bundle::frag_offset()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00138">SORT_FRAG_OFFSET</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00137">SORT_PRIORITY</a>.</p>

<p>Referenced by <a class="el" href="FragmentState_8cc-source.html#l00028">dtn::FragmentState::add_fragment()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0d0c9f789f0f7f7d1cda3b4ecf32d2bc"></a><!-- doxytag: member="dtn::BundleList::lock" ref="0d0c9f789f0f7f7d1cda3b4ecf32d2bc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::SpinLock* dtn::BundleList::lock           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the internal lock on this list. 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00285">285</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, <a class="el" href="FragmentState_8cc-source.html#l00042">dtn::FragmentState::check_completed()</a>, <a class="el" href="FragmentManager_8cc-source.html#l00465">dtn::FragmentManager::delete_obsoleted_fragments()</a>, <a class="el" href="BundleCommand_8cc-source.html#l00112">dtn::BundleCommand::exec()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02334">dtn::BundleDaemon::find_duplicate()</a>, <a class="el" href="DTLSRRouter_8cc-source.html#l00291">dtn::DTLSRRouter::handle_bundle_expired()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l01289">dtn::BundleDaemon::handle_registration_added()</a>, <a class="el" href="ProphetBundleCore_8cc-source.html#l00062">dtn::ProphetBundleCore::load_dtn_bundles()</a>, <a class="el" href="Simulator_8cc-source.html#l00108">dtnsim::Simulator::log_inqueue_stats()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00880">dtn::TableBasedRouter::reroute_all_bundles()</a>, and <a class="el" href="DTLSRRouter_8cc-source.html#l00632">dtn::DTLSRRouter::update_current_lsa()</a>.</p>

</div>
</div><p>
<a class="anchor" name="af966a2b08526b4fee25b8890f7e5dcd"></a><!-- doxytag: member="dtn::BundleList::move_contents" ref="af966a2b08526b4fee25b8890f7e5dcd" args="(BundleList *other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::move_contents           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1BundleList.html">BundleList</a> *&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Move all bundles from this list to another. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00432">432</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, <a class="el" href="BundleList_8cc-source.html#l00235">pop_front()</a>, and <a class="el" href="BundleList_8cc-source.html#l00130">push_back()</a>.</p>

<p>Referenced by <a class="el" href="BundleEvent_8h-source.html#l00794">dtn::ReassemblyCompletedEvent::ReassemblyCompletedEvent()</a>.</p>

</div>
</div><p>
<a class="anchor" name="fe57f15c8a9270d90861739598390c78"></a><!-- doxytag: member="dtn::BundleList::name" ref="fe57f15c8a9270d90861739598390c78" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; dtn::BundleList::name           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the identifier name of this list. 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00290">290</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00513">dtn::BlockingBundleList::pop_blocking()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3429d8c70e63925609713c6d6fbd51fe"></a><!-- doxytag: member="dtn::BundleList::pop_back" ref="3429d8c70e63925609713c6d6fbd51fe" args="(bool used_notifier=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::pop_back           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>used_notifier</em> = <code>false</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove (and return) the last bundle on the list. 
<p>
Note (as explained above) that this does not decrement the bundle reference count.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>used_notifier</em>&nbsp;</td><td>Popping off of the <a class="el" href="classdtn_1_1BundleList.html" title="List structure for handling bundles.">BundleList</a> after coming off of a notifier. This will drain one item off of the notifier queue.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the bundle or a reference to NULL if the list is empty. </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00256">256</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="Bundle_8cc-source.html#l00307">dtn::Bundle::del_ref()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>.</p>

<p>Referenced by <a class="el" href="FragmentManager_8cc-source.html#l00465">dtn::FragmentManager::delete_obsoleted_fragments()</a>.</p>

</div>
</div><p>
<a class="anchor" name="265a9efd0831be3094f815eed22aec42"></a><!-- doxytag: member="dtn::BundleList::pop_front" ref="265a9efd0831be3094f815eed22aec42" args="(bool used_notifier=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> dtn::BundleList::pop_front           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a>&nbsp;</td>
          <td class="paramname"> <em>used_notifier</em> = <code>false</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove (and return) a reference to the first bundle on the list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>used_notifier</em>&nbsp;</td><td>Popping off of the <a class="el" href="classdtn_1_1BundleList.html" title="List structure for handling bundles.">BundleList</a> after coming off of a notifier. This will drain one item off of the notifier queue.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a reference to the bundle or a reference to NULL if the list is empty. </dd></dl>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00235">235</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="Bundle_8cc-source.html#l00307">dtn::Bundle::del_ref()</a>, <a class="el" href="BundleList_8cc-source.html#l00467">empty()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00446">clear()</a>, <a class="el" href="TclRegistration_8cc-source.html#l00098">dtn::TclRegistration::get_bundle_data()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l01862">dtn::BundleDaemon::handle_reassembly_completed()</a>, <a class="el" href="APIServer_8cc-source.html#l01187">dtn::APIClient::handle_recv()</a>, <a class="el" href="APIServer_8cc-source.html#l01553">dtn::APIClient::handle_session_update()</a>, <a class="el" href="BundleList_8cc-source.html#l00432">move_contents()</a>, and <a class="el" href="BundleList_8cc-source.html#l00513">dtn::BlockingBundleList::pop_blocking()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c57c60f97ecf647fe5f5e33308636c1c"></a><!-- doxytag: member="dtn::BundleList::push_back" ref="c57c60f97ecf647fe5f5e33308636c1c" args="(const BundleRef &amp;bundle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::push_back           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new bundle to the back of the list. 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00128">128</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00130">push_back()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9f3efd0593739e89ed478fd4bbccd3e0"></a><!-- doxytag: member="dtn::BundleList::push_back" ref="9f3efd0593739e89ed478fd4bbccd3e0" args="(Bundle *bundle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::push_back           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new bundle to the back of the list. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00130">130</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="BundleDaemon_8cc-source.html#l00308">dtn::BundleDaemon::accept_custody()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00948">dtn::TableBasedRouter::TableBasedRouter::DeferredList::add()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00126">dtn::TableBasedRouter::add_bundle_to_session()</a>, <a class="el" href="Link_8cc-source.html#l00529">dtn::Link::add_to_inflight()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02125">dtn::BundleDaemon::add_to_pending()</a>, <a class="el" href="Link_8cc-source.html#l00481">dtn::Link::add_to_queue()</a>, <a class="el" href="TclRegistration_8cc-source.html#l00057">dtn::TclRegistration::deliver_bundle()</a>, <a class="el" href="APIRegistration_8cc-source.html#l00080">dtn::APIRegistration::deliver_bundle()</a>, <a class="el" href="FloodBundleRouter_8cc-source.html#l00055">dtn::FloodBundleRouter::handle_bundle_received()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l00486">dtn::BundleDaemon::handle_bundle_received()</a>, <a class="el" href="BundleList_8cc-source.html#l00432">move_contents()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00128">push_back()</a>, <a class="el" href="APIRegistration_8cc-source.html#l00117">dtn::APIRegistration::session_notify()</a>, and <a class="el" href="DTLSRRouter_8cc-source.html#l00632">dtn::DTLSRRouter::update_current_lsa()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ad10fc07ec2026eca6ad87f434ba2f18"></a><!-- doxytag: member="dtn::BundleList::push_front" ref="ad10fc07ec2026eca6ad87f434ba2f18" args="(const BundleRef &amp;bundle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::push_front           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacedtn.html#87094f3b26b9f1d469e616d311ae57b1">BundleRef</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new bundle to the front of the list. 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00115">115</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00121">push_front()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6a51b84005fdf2d5c89ed5231de61cf8"></a><!-- doxytag: member="dtn::BundleList::push_front" ref="6a51b84005fdf2d5c89ed5231de61cf8" args="(Bundle *bundle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::push_front           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdtn_1_1Bundle.html">Bundle</a> *&nbsp;</td>
          <td class="paramname"> <em>bundle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a new bundle to the front of the list. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00121">121</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, <a class="el" href="bundling_2Bundle_8h-source.html#l00202">dtn::Bundle::lock()</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="bundling_2BundleList_8h-source.html#l00115">push_front()</a>.</p>

</div>
</div><p>
<a class="anchor" name="463faba73c168a921d04e6e9d0aac756"></a><!-- doxytag: member="dtn::BundleList::set_name" ref="463faba73c168a921d04e6e9d0aac756" args="(const std::string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dtn::BundleList::set_name           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the name (useful for classes that are unserialized). 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00048">48</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00315">name_</a>.</p>

</div>
</div><p>
<a class="anchor" name="3c50c6f421631a4dd72b7b77b0660bc3"></a><!-- doxytag: member="dtn::BundleList::size" ref="3c50c6f421631a4dd72b7b77b0660bc3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t dtn::BundleList::size           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the size of the list. 
<p>

<p>Definition at line <a class="el" href="BundleList_8cc-source.html#l00459">459</a> of file <a class="el" href="BundleList_8cc-source.html">BundleList.cc</a>.</p>

<p>References <a class="el" href="bundling_2BundleList_8h-source.html#l00316">list_</a>, and <a class="el" href="bundling_2BundleList_8h-source.html#l00319">lock_</a>.</p>

<p>Referenced by <a class="el" href="TableBasedRouter_8cc-source.html#l01295">dtn::TableBasedRouter::add_subscriber()</a>, <a class="el" href="FragmentState_8cc-source.html#l00042">dtn::FragmentState::check_completed()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02265">dtn::BundleDaemon::delete_bundle()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02180">dtn::BundleDaemon::delete_from_pending()</a>, <a class="el" href="FragmentManager_8cc-source.html#l00465">dtn::FragmentManager::delete_obsoleted_fragments()</a>, <a class="el" href="BundleCommand_8cc-source.html#l00112">dtn::BundleCommand::exec()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l02334">dtn::BundleDaemon::find_duplicate()</a>, <a class="el" href="BundleList_8cc-source.html#l00174">insert_random()</a>, <a class="el" href="ProphetBundleCore_8cc-source.html#l00062">dtn::ProphetBundleCore::load_dtn_bundles()</a>, <a class="el" href="FragmentState_8h-source.html#l00045">dtn::FragmentState::num_fragments()</a>, <a class="el" href="FragmentManager_8cc-source.html#l00387">dtn::FragmentManager::process_for_reassembly()</a>, <a class="el" href="TableBasedRouter_8cc-source.html#l00880">dtn::TableBasedRouter::reroute_all_bundles()</a>, and <a class="el" href="BundleDaemon_8cc-source.html#l02222">dtn::BundleDaemon::try_to_delete()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="2fa0c115e2436adbe8e03795c1fa2723"></a><!-- doxytag: member="dtn::BundleList::list_" ref="2fa0c115e2436adbe8e03795c1fa2723" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdtn_1_1BundleList.html#95d1259601419d0c4147ac12d4f1f736">List</a> <a class="el" href="classdtn_1_1BundleList.html#2fa0c115e2436adbe8e03795c1fa2723">dtn::BundleList::list_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
underlying list data structure 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00316">316</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00080">back()</a>, <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00446">clear()</a>, <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00467">empty()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">end()</a>, <a class="el" href="BundleList_8cc-source.html#l00066">front()</a>, <a class="el" href="BundleList_8cc-source.html#l00139">insert_sorted()</a>, <a class="el" href="BundleList_8cc-source.html#l00432">move_contents()</a>, <a class="el" href="BundleList_8cc-source.html#l00256">pop_back()</a>, <a class="el" href="BundleList_8cc-source.html#l00235">pop_front()</a>, <a class="el" href="BundleList_8cc-source.html#l00130">push_back()</a>, <a class="el" href="BundleList_8cc-source.html#l00121">push_front()</a>, and <a class="el" href="BundleList_8cc-source.html#l00459">size()</a>.</p>

</div>
</div><p>
<a class="anchor" name="be75dd18cbd95df447ff602cedd3ba0b"></a><!-- doxytag: member="dtn::BundleList::lock_" ref="be75dd18cbd95df447ff602cedd3ba0b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::SpinLock* <a class="el" href="classdtn_1_1BundleList.html#be75dd18cbd95df447ff602cedd3ba0b">dtn::BundleList::lock_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
lock for notifier 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00319">319</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00080">back()</a>, <a class="el" href="BundleList_8cc-source.html#l00475">begin()</a>, <a class="el" href="BundleList_8cc-source.html#l00033">BundleList()</a>, <a class="el" href="BundleList_8cc-source.html#l00446">clear()</a>, <a class="el" href="BundleList_8cc-source.html#l00329">contains()</a>, <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00467">empty()</a>, <a class="el" href="BundleList_8cc-source.html#l00488">end()</a>, <a class="el" href="BundleList_8cc-source.html#l00275">erase()</a>, <a class="el" href="BundleList_8cc-source.html#l00350">find()</a>, <a class="el" href="BundleList_8cc-source.html#l00066">front()</a>, <a class="el" href="BundleList_8cc-source.html#l00174">insert_random()</a>, <a class="el" href="BundleList_8cc-source.html#l00139">insert_sorted()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00285">lock()</a>, <a class="el" href="BundleList_8cc-source.html#l00432">move_contents()</a>, <a class="el" href="BundleList_8cc-source.html#l00256">pop_back()</a>, <a class="el" href="BundleList_8cc-source.html#l00513">dtn::BlockingBundleList::pop_blocking()</a>, <a class="el" href="BundleList_8cc-source.html#l00235">pop_front()</a>, <a class="el" href="BundleList_8cc-source.html#l00130">push_back()</a>, <a class="el" href="BundleList_8cc-source.html#l00121">push_front()</a>, <a class="el" href="BundleList_8cc-source.html#l00459">size()</a>, and <a class="el" href="BundleList_8cc-source.html#l00055">~BundleList()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2a113958b7214c732602d956bc99a2f9"></a><!-- doxytag: member="dtn::BundleList::name_" ref="2a113958b7214c732602d956bc99a2f9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classdtn_1_1BundleList.html#2a113958b7214c732602d956bc99a2f9">dtn::BundleList::name_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
name of the list 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00315">315</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00275">erase()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00290">name()</a>, <a class="el" href="BundleList_8cc-source.html#l00256">pop_back()</a>, <a class="el" href="BundleList_8cc-source.html#l00235">pop_front()</a>, and <a class="el" href="BundleList_8cc-source.html#l00048">set_name()</a>.</p>

</div>
</div><p>
<a class="anchor" name="bf8997bf56c3876e1bc96e8b2ce895e8"></a><!-- doxytag: member="dtn::BundleList::notifier_" ref="bf8997bf56c3876e1bc96e8b2ce895e8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">oasys::Notifier* <a class="el" href="classdtn_1_1BundleList.html#bf8997bf56c3876e1bc96e8b2ce895e8">dtn::BundleList::notifier_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
notifier for blocking list 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00321">321</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00094">add_bundle()</a>, <a class="el" href="BundleList_8cc-source.html#l00498">dtn::BlockingBundleList::BlockingBundleList()</a>, <a class="el" href="BundleList_8cc-source.html#l00197">del_bundle()</a>, <a class="el" href="bundling_2BundleList_8h-source.html#l00348">dtn::BlockingBundleList::notifier()</a>, <a class="el" href="BundleList_8cc-source.html#l00513">dtn::BlockingBundleList::pop_blocking()</a>, and <a class="el" href="BundleList_8cc-source.html#l00505">dtn::BlockingBundleList::~BlockingBundleList()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b42f8cdc7fa16407d38975d514009861"></a><!-- doxytag: member="dtn::BundleList::own_lock_" ref="b42f8cdc7fa16407d38975d514009861" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> <a class="el" href="classdtn_1_1BundleList.html#b42f8cdc7fa16407d38975d514009861">dtn::BundleList::own_lock_</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
bit to define lock ownership 
<p>

<p>Definition at line <a class="el" href="bundling_2BundleList_8h-source.html#l00320">320</a> of file <a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a>.</p>

<p>Referenced by <a class="el" href="BundleList_8cc-source.html#l00033">BundleList()</a>, and <a class="el" href="BundleList_8cc-source.html#l00055">~BundleList()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="bundling_2BundleList_8h-source.html">bundling/BundleList.h</a><li><a class="el" href="BundleList_8cc-source.html">BundleList.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 30 09:27:02 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>