<!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::LinkBlockSet Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1LinkBlockSet.html">LinkBlockSet</a> </div> </div> <div class="contents"> <h1>dtn::LinkBlockSet Class Reference</h1><!-- doxytag: class="dtn::LinkBlockSet" --><code>#include <<a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>></code> <p> <p> <a href="classdtn_1_1LinkBlockSet-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> A set of BlockInfoVecs, one for each outgoing link. <p>Definition at line <a class="el" href="BlockInfo_8h-source.html#l00201">201</a> of file <a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#40db0e68d2f4b44af4fd2f696033715d">LinkBlockSet</a> (oasys::Lock *lock)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#99eec7de51e25f164c223c4d26c14662">~LinkBlockSet</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor that clears the set. <a href="#99eec7de51e25f164c223c4d26c14662"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BlockInfoVec.html">BlockInfoVec</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#7fd0f75b4caa20c373c532cc8256e86c">create_blocks</a> (const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> &link)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> for the given link. <a href="#7fd0f75b4caa20c373c532cc8256e86c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1BlockInfoVec.html">BlockInfoVec</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#07658a9543619b3ab3f1493a2dd68e85">find_blocks</a> (const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> &link) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Find the <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> for the given link. <a href="#07658a9543619b3ab3f1493a2dd68e85"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#8657b919c8356da3736c8ced6a740d30">delete_blocks</a> (const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> &link)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove the <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> for the given link. <a href="#8657b919c8356da3736c8ced6a740d30"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector< <a class="el" href="structdtn_1_1LinkBlockSet_1_1Entry.html">Entry</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#26accebf3108d6ec2274943b1d9f7d81">Vector</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector< <a class="el" href="structdtn_1_1LinkBlockSet_1_1Entry.html">Entry</a> ><br> ::<a class="el" href="classdtn_1_1LinkBlockSet.html#1cf5b0283251d47d8d151b46b8453be1">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#1cf5b0283251d47d8d151b46b8453be1">iterator</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector< <a class="el" href="structdtn_1_1LinkBlockSet_1_1Entry.html">Entry</a> ><br> ::<a class="el" href="classdtn_1_1LinkBlockSet.html#2eeca6d493fbc4fb7d1b606f97304ebd">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#2eeca6d493fbc4fb7d1b606f97304ebd">const_iterator</a></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#ac2318f685a4f0aa9b56dc67487513c4">NO_ASSIGN_COPY</a> (<a class="el" href="classdtn_1_1LinkBlockSet.html">LinkBlockSet</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Disable the copy constructor and assignment operator. <a href="#ac2318f685a4f0aa9b56dc67487513c4"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1LinkBlockSet.html#26accebf3108d6ec2274943b1d9f7d81">Vector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#f78a2862af02b5a200bbddfc24baf177">entries_</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">oasys::Lock * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkBlockSet.html#03ad3894ae707a255a517a8b97a54840">lock_</a></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structdtn_1_1LinkBlockSet_1_1Entry.html">Entry</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Struct to hold a block list and a link pointer. <a href="structdtn_1_1LinkBlockSet_1_1Entry.html#_details">More...</a><br></td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="26accebf3108d6ec2274943b1d9f7d81"></a><!-- doxytag: member="dtn::LinkBlockSet::Vector" ref="26accebf3108d6ec2274943b1d9f7d81" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector<<a class="el" href="structdtn_1_1LinkBlockSet_1_1Entry.html">Entry</a>> <a class="el" href="classdtn_1_1LinkBlockSet.html#26accebf3108d6ec2274943b1d9f7d81">dtn::LinkBlockSet::Vector</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BlockInfo_8h-source.html#l00244">244</a> of file <a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>.</p> </div> </div><p> <a class="anchor" name="1cf5b0283251d47d8d151b46b8453be1"></a><!-- doxytag: member="dtn::LinkBlockSet::iterator" ref="1cf5b0283251d47d8d151b46b8453be1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector<<a class="el" href="structdtn_1_1LinkBlockSet_1_1Entry.html">Entry</a>>::<a class="el" href="classdtn_1_1LinkBlockSet.html#1cf5b0283251d47d8d151b46b8453be1">iterator</a> <a class="el" href="classdtn_1_1LinkBlockSet.html#1cf5b0283251d47d8d151b46b8453be1">dtn::LinkBlockSet::iterator</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BlockInfo_8h-source.html#l00245">245</a> of file <a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>.</p> </div> </div><p> <a class="anchor" name="2eeca6d493fbc4fb7d1b606f97304ebd"></a><!-- doxytag: member="dtn::LinkBlockSet::const_iterator" ref="2eeca6d493fbc4fb7d1b606f97304ebd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector<<a class="el" href="structdtn_1_1LinkBlockSet_1_1Entry.html">Entry</a>>::<a class="el" href="classdtn_1_1LinkBlockSet.html#2eeca6d493fbc4fb7d1b606f97304ebd">const_iterator</a> <a class="el" href="classdtn_1_1LinkBlockSet.html#2eeca6d493fbc4fb7d1b606f97304ebd">dtn::LinkBlockSet::const_iterator</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BlockInfo_8h-source.html#l00246">246</a> of file <a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="40db0e68d2f4b44af4fd2f696033715d"></a><!-- doxytag: member="dtn::LinkBlockSet::LinkBlockSet" ref="40db0e68d2f4b44af4fd2f696033715d" args="(oasys::Lock *lock)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::LinkBlockSet::LinkBlockSet </td> <td>(</td> <td class="paramtype">oasys::Lock * </td> <td class="paramname"> <em>lock</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BlockInfo_8h-source.html#l00203">203</a> of file <a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>.</p> </div> </div><p> <a class="anchor" name="99eec7de51e25f164c223c4d26c14662"></a><!-- doxytag: member="dtn::LinkBlockSet::~LinkBlockSet" ref="99eec7de51e25f164c223c4d26c14662" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::LinkBlockSet::~LinkBlockSet </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor that clears the set. <p> <p>Definition at line <a class="el" href="BlockInfo_8cc-source.html#l00222">222</a> of file <a class="el" href="BlockInfo_8cc-source.html">BlockInfo.cc</a>.</p> <p>References <a class="el" href="BlockInfo_8h-source.html#l00247">entries_</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="7fd0f75b4caa20c373c532cc8256e86c"></a><!-- doxytag: member="dtn::LinkBlockSet::create_blocks" ref="7fd0f75b4caa20c373c532cc8256e86c" args="(const LinkRef &link)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1BlockInfoVec.html">BlockInfoVec</a> * dtn::LinkBlockSet::create_blocks </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> & </td> <td class="paramname"> <em>link</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Create a new <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> for the given link. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the new <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> </dd></dl> <p>Definition at line <a class="el" href="BlockInfo_8cc-source.html#l00235">235</a> of file <a class="el" href="BlockInfo_8cc-source.html">BlockInfo.cc</a>.</p> <p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="BlockInfo_8h-source.html#l00247">entries_</a>, <a class="el" href="BlockInfo_8cc-source.html#l00247">find_blocks()</a>, and <a class="el" href="BlockInfo_8h-source.html#l00248">lock_</a>.</p> <p>Referenced by <a class="el" href="FragmentManager_8cc-source.html#l00105">dtn::FragmentManager::create_fragment()</a>, and <a class="el" href="BundleProtocol_8cc-source.html#l00105">dtn::BundleProtocol::prepare_blocks()</a>.</p> </div> </div><p> <a class="anchor" name="07658a9543619b3ab3f1493a2dd68e85"></a><!-- doxytag: member="dtn::LinkBlockSet::find_blocks" ref="07658a9543619b3ab3f1493a2dd68e85" args="(const LinkRef &link) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1BlockInfoVec.html">BlockInfoVec</a> * dtn::LinkBlockSet::find_blocks </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> & </td> <td class="paramname"> <em>link</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Find the <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> for the given link. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> or NULL if not found </dd></dl> <p>Definition at line <a class="el" href="BlockInfo_8cc-source.html#l00247">247</a> of file <a class="el" href="BlockInfo_8cc-source.html">BlockInfo.cc</a>.</p> <p>References <a class="el" href="BlockInfo_8h-source.html#l00247">entries_</a>, and <a class="el" href="BlockInfo_8h-source.html#l00248">lock_</a>.</p> <p>Referenced by <a class="el" href="BundleActions_8cc-source.html#l00174">dtn::BundleActions::cancel_bundle()</a>, <a class="el" href="BlockInfo_8cc-source.html#l00235">create_blocks()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l01083">dtn::BundleDaemon::handle_bundle_cancelled()</a>, <a class="el" href="BundleDaemon_8cc-source.html#l00785">dtn::BundleDaemon::handle_bundle_transmitted()</a>, <a class="el" href="FragmentManager_8cc-source.html#l00244">dtn::FragmentManager::proactively_fragment()</a>, and <a class="el" href="BundleActions_8cc-source.html#l00078">dtn::BundleActions::queue_bundle()</a>.</p> </div> </div><p> <a class="anchor" name="8657b919c8356da3736c8ced6a740d30"></a><!-- doxytag: member="dtn::LinkBlockSet::delete_blocks" ref="8657b919c8356da3736c8ced6a740d30" args="(const LinkRef &link)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::LinkBlockSet::delete_blocks </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacedtn.html#6efb37e503f8062c537b022eb755b94e">LinkRef</a> & </td> <td class="paramname"> <em>link</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Remove the <a class="el" href="classdtn_1_1BlockInfoVec.html" title="Class for a vector of BlockInfo structures.">BlockInfoVec</a> for the given link. <p> <p>Definition at line <a class="el" href="BlockInfo_8cc-source.html#l00264">264</a> of file <a class="el" href="BlockInfo_8cc-source.html">BlockInfo.cc</a>.</p> <p>References <a class="el" href="BlockInfo_8h-source.html#l00247">entries_</a>, and <a class="el" href="BlockInfo_8h-source.html#l00248">lock_</a>.</p> <p>Referenced by <a class="el" href="BundleProtocol_8cc-source.html#l00249">dtn::BundleProtocol::delete_blocks()</a>.</p> </div> </div><p> <a class="anchor" name="ac2318f685a4f0aa9b56dc67487513c4"></a><!-- doxytag: member="dtn::LinkBlockSet::NO_ASSIGN_COPY" ref="ac2318f685a4f0aa9b56dc67487513c4" args="(LinkBlockSet)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::LinkBlockSet::NO_ASSIGN_COPY </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkBlockSet.html">LinkBlockSet</a> </td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Disable the copy constructor and assignment operator. <p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="f78a2862af02b5a200bbddfc24baf177"></a><!-- doxytag: member="dtn::LinkBlockSet::entries_" ref="f78a2862af02b5a200bbddfc24baf177" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1LinkBlockSet.html#26accebf3108d6ec2274943b1d9f7d81">Vector</a> <a class="el" href="classdtn_1_1LinkBlockSet.html#f78a2862af02b5a200bbddfc24baf177">dtn::LinkBlockSet::entries_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BlockInfo_8h-source.html#l00247">247</a> of file <a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>.</p> <p>Referenced by <a class="el" href="BlockInfo_8cc-source.html#l00235">create_blocks()</a>, <a class="el" href="BlockInfo_8cc-source.html#l00264">delete_blocks()</a>, <a class="el" href="BlockInfo_8cc-source.html#l00247">find_blocks()</a>, and <a class="el" href="BlockInfo_8cc-source.html#l00222">~LinkBlockSet()</a>.</p> </div> </div><p> <a class="anchor" name="03ad3894ae707a255a517a8b97a54840"></a><!-- doxytag: member="dtn::LinkBlockSet::lock_" ref="03ad3894ae707a255a517a8b97a54840" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">oasys::Lock* <a class="el" href="classdtn_1_1LinkBlockSet.html#03ad3894ae707a255a517a8b97a54840">dtn::LinkBlockSet::lock_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="BlockInfo_8h-source.html#l00248">248</a> of file <a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a>.</p> <p>Referenced by <a class="el" href="BlockInfo_8cc-source.html#l00235">create_blocks()</a>, <a class="el" href="BlockInfo_8cc-source.html#l00264">delete_blocks()</a>, and <a class="el" href="BlockInfo_8cc-source.html#l00247">find_blocks()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="BlockInfo_8h-source.html">BlockInfo.h</a><li><a class="el" href="BlockInfo_8cc-source.html">BlockInfo.cc</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 21 14:09:50 2008 for DTN Reference Implementation by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>