dtn::LinkBlockSet Class Reference

A set of BlockInfoVecs, one for each outgoing link. More...

#include <BlockInfo.h>

List of all members.

Classes

struct  Entry
 Struct to hold a block list and a link pointer. More...

Public Member Functions

 LinkBlockSet (oasys::Lock *lock)
virtual ~LinkBlockSet ()
 Destructor that clears the set.
BlockInfoVeccreate_blocks (const LinkRef &link)
 Create a new BlockInfoVec for the given link.
BlockInfoVecfind_blocks (const LinkRef &link) const
 Find the BlockInfoVec for the given link.
void delete_blocks (const LinkRef &link)
 Remove the BlockInfoVec for the given link.

Protected Types

typedef std::vector< EntryVector
typedef std::vector< Entry >
::iterator 
iterator
typedef std::vector< Entry >
::const_iterator 
const_iterator

Protected Member Functions

 NO_ASSIGN_COPY (LinkBlockSet)
 Disable the copy constructor and assignment operator.

Protected Attributes

Vector entries_
oasys::Lock * lock_

Detailed Description

A set of BlockInfoVecs, one for each outgoing link.

Definition at line 201 of file BlockInfo.h.


Member Typedef Documentation

typedef std::vector<Entry>::const_iterator dtn::LinkBlockSet::const_iterator [protected]

Definition at line 246 of file BlockInfo.h.

typedef std::vector<Entry>::iterator dtn::LinkBlockSet::iterator [protected]

Definition at line 245 of file BlockInfo.h.

typedef std::vector<Entry> dtn::LinkBlockSet::Vector [protected]

Definition at line 244 of file BlockInfo.h.


Constructor & Destructor Documentation

dtn::LinkBlockSet::LinkBlockSet ( oasys::Lock *  lock  )  [inline]

Definition at line 203 of file BlockInfo.h.

dtn::LinkBlockSet::~LinkBlockSet (  )  [virtual]

Destructor that clears the set.

Definition at line 221 of file BlockInfo.cc.

References entries_.


Member Function Documentation

BlockInfoVec * dtn::LinkBlockSet::create_blocks ( const LinkRef link  ) 

Create a new BlockInfoVec for the given link.

Returns:
Pointer to the new BlockInfoVec

Definition at line 234 of file BlockInfo.cc.

References ASSERT, entries_, find_blocks(), and lock_.

Referenced by dtn::FragmentManager::create_fragment().

void dtn::LinkBlockSet::delete_blocks ( const LinkRef link  ) 

Remove the BlockInfoVec for the given link.

Definition at line 263 of file BlockInfo.cc.

References entries_, and lock_.

BlockInfoVec * dtn::LinkBlockSet::find_blocks ( const LinkRef link  )  const

Find the BlockInfoVec for the given link.

Returns:
Pointer to the BlockInfoVec or NULL if not found

Definition at line 246 of file BlockInfo.cc.

References entries_, and lock_.

Referenced by dtn::BundleActions::cancel_bundle(), create_blocks(), dtn::FragmentManager::proactively_fragment(), and dtn::BundleActions::queue_bundle().

dtn::LinkBlockSet::NO_ASSIGN_COPY ( LinkBlockSet   )  [protected]

Disable the copy constructor and assignment operator.


Member Data Documentation

Definition at line 247 of file BlockInfo.h.

Referenced by create_blocks(), delete_blocks(), find_blocks(), and ~LinkBlockSet().

oasys::Lock* dtn::LinkBlockSet::lock_ [protected]

Definition at line 248 of file BlockInfo.h.

Referenced by create_blocks(), delete_blocks(), and find_blocks().


The documentation for this class was generated from the following files:
Generated on Sun Nov 21 11:40:55 2010 for DTN Reference Implementation by  doxygen 1.6.3