dtn::TableBasedRouter::DeferredList Class Reference

Per-link class used to store deferred transmission bundles that helps cache route computations. More...

#include <TableBasedRouter.h>

Inheritance diagram for dtn::TableBasedRouter::DeferredList:
dtn::RouterInfo

List of all members.

Public Member Functions

 DeferredList (const char *logpath, const LinkRef &link)
BundleListlist ()
 Accessor for the bundle list.
const ForwardingInfoinfo (const BundleRef &bundle)
 Accessor for the forwarding info associated with the bundle, which must be on the list.
bool find (const BundleRef &bundle, ForwardingInfo *info)
 Check if the bundle is on the list.
bool add (const BundleRef &bundle, const ForwardingInfo &info)
 Add a new bundle/info pair to the deferred list.
bool del (const BundleRef &bundle)
 Remove the bundle and its associated forwarding info from the list.
void dump_stats (oasys::StringBuffer *buf)
 Print out the stats, called from Link::dump_stats.

Protected Types

typedef std::map< u_int32_t,
ForwardingInfo
InfoMap

Protected Attributes

BundleList list_
InfoMap info_
size_t count_

Detailed Description

Per-link class used to store deferred transmission bundles that helps cache route computations.

Definition at line 228 of file TableBasedRouter.h.


Member Typedef Documentation

typedef std::map<u_int32_t, ForwardingInfo> dtn::TableBasedRouter::DeferredList::InfoMap [protected]

Definition at line 254 of file TableBasedRouter.h.


Constructor & Destructor Documentation

dtn::TableBasedRouter::DeferredList::DeferredList ( const char *  logpath,
const LinkRef link 
)

Definition at line 908 of file TableBasedRouter.cc.


Member Function Documentation

bool dtn::TableBasedRouter::DeferredList::add ( const BundleRef bundle,
const ForwardingInfo info 
)

Add a new bundle/info pair to the deferred list.

Definition at line 948 of file TableBasedRouter.cc.

References dtn::BundleList::contains(), count_, info_, list_, and dtn::BundleList::push_back().

Referenced by dtn::TableBasedRouter::fwd_to_nexthop().

bool dtn::TableBasedRouter::DeferredList::del ( const BundleRef bundle  ) 

Remove the bundle and its associated forwarding info from the list.

Definition at line 970 of file TableBasedRouter.cc.

References ASSERT, count_, dtn::BundleList::erase(), info_, and list_.

Referenced by dtn::TableBasedRouter::remove_from_deferred().

void dtn::TableBasedRouter::DeferredList::dump_stats ( oasys::StringBuffer *  buf  )  [virtual]

Print out the stats, called from Link::dump_stats.

Reimplemented from dtn::RouterInfo.

Definition at line 919 of file TableBasedRouter.cc.

References count_.

bool dtn::TableBasedRouter::DeferredList::find ( const BundleRef bundle,
ForwardingInfo info 
)

Check if the bundle is on the list.

If so, return its forwarding info.

Definition at line 926 of file TableBasedRouter.cc.

References info_.

Referenced by dtn::TableBasedRouter::remove_from_deferred().

const ForwardingInfo & dtn::TableBasedRouter::DeferredList::info ( const BundleRef bundle  ) 

Accessor for the forwarding info associated with the bundle, which must be on the list.

Definition at line 939 of file TableBasedRouter.cc.

References ASSERT, and info_.

BundleList* dtn::TableBasedRouter::DeferredList::list (  )  [inline]

Accessor for the bundle list.

Definition at line 233 of file TableBasedRouter.h.

References list_.

Referenced by dtn::TableBasedRouter::fwd_to_nexthop().


Member Data Documentation

Definition at line 257 of file TableBasedRouter.h.

Referenced by add(), del(), and dump_stats().

Definition at line 256 of file TableBasedRouter.h.

Referenced by add(), del(), find(), and info().

Definition at line 255 of file TableBasedRouter.h.

Referenced by add(), del(), and list().


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