IBR-DTNSuite  0.8
dtn::storage::MemoryBundleStorage Class Reference

#include <MemoryBundleStorage.h>

Inheritance diagram for dtn::storage::MemoryBundleStorage:
Collaboration diagram for dtn::storage::MemoryBundleStorage:

List of all members.

Classes

struct  CMP_BUNDLE_PRIORITY

Public Member Functions

 MemoryBundleStorage (size_t maxsize=0)
virtual ~MemoryBundleStorage ()
virtual void store (const dtn::data::Bundle &bundle)
virtual dtn::data::Bundle get (const dtn::data::BundleID &id)
virtual const std::list
< dtn::data::MetaBundle
get (BundleFilterCallback &cb)
virtual const std::set
< dtn::data::EID
getDistinctDestinations ()
void remove (const dtn::data::BundleID &id)
dtn::data::MetaBundle remove (const ibrcommon::BloomFilter &filter)
void clear ()
bool empty ()
unsigned int count ()
size_t size () const
void releaseCustody (const dtn::data::EID &custodian, const dtn::data::BundleID &id)
void raiseEvent (const dtn::core::Event *evt)
virtual const std::string getName () const

Protected Member Functions

virtual void componentUp ()
virtual void componentDown ()
virtual void eventBundleExpired (const ExpiringBundle &b)

Detailed Description

Definition at line 24 of file MemoryBundleStorage.h.


Constructor & Destructor Documentation

Definition at line 21 of file MemoryBundleStorage.cpp.


Member Function Documentation

See also:
BundleStorage::clear()

Reimplemented from dtn::data::BundleList.

Definition at line 239 of file MemoryBundleStorage.cpp.

void dtn::storage::MemoryBundleStorage::componentDown ( ) [protected, virtual]

Implements dtn::daemon::IntegratedComponent.

Definition at line 35 of file MemoryBundleStorage.cpp.

References dtn::core::TimeEvent::className, and dtn::core::EventReceiver::unbindEvent().

Here is the call graph for this function:

void dtn::storage::MemoryBundleStorage::componentUp ( ) [protected, virtual]

Implements dtn::daemon::IntegratedComponent.

Definition at line 30 of file MemoryBundleStorage.cpp.

References dtn::core::EventReceiver::bindEvent(), and dtn::core::TimeEvent::className.

Here is the call graph for this function:

unsigned int dtn::storage::MemoryBundleStorage::count ( ) [virtual]
See also:
BundleStorage::count()

Reimplemented from dtn::storage::BundleStorage.

Definition at line 70 of file MemoryBundleStorage.cpp.

See also:
BundleStorage::empty()

Reimplemented from dtn::storage::BundleStorage.

Definition at line 58 of file MemoryBundleStorage.cpp.

This method returns a specific bundle which is identified by its id.

Parameters:
idThe ID of the bundle to return.
Returns:
A bundle object of the

Implements dtn::storage::BundleStorage.

Definition at line 97 of file MemoryBundleStorage.cpp.

References IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, and ibrcommon::Exception::what().

Here is the call graph for this function:

const std::string dtn::storage::MemoryBundleStorage::getName ( ) const [virtual]
See also:
Component::getName()

Implements dtn::daemon::Component.

Definition at line 53 of file MemoryBundleStorage.cpp.

This method is used to receive events.

Parameters:
evt

Implements dtn::core::EventReceiver.

Definition at line 40 of file MemoryBundleStorage.cpp.

References dtn::data::BundleList::expire(), dtn::core::TimeEvent::getAction(), dtn::core::TimeEvent::getTimestamp(), and dtn::core::TIME_SECOND_TICK.

Here is the call graph for this function:

void dtn::storage::MemoryBundleStorage::releaseCustody ( const dtn::data::EID custodian,
const dtn::data::BundleID id 
) [virtual]

This method deletes a specific bundle in the storage. No reports will be generated here.

Parameters:
idThe ID of the bundle to remove.

Implements dtn::storage::BundleStorage.

Definition at line 170 of file MemoryBundleStorage.cpp.

References dtn::data::DefaultSerializer::getLength(), and size().

Referenced by remove().

Here is the call graph for this function:

Remove one bundles which match this filter

Parameters:
filter
Returns:
The bundle meta data of the removed bundle.

Reimplemented from dtn::storage::BundleStorage.

Definition at line 202 of file MemoryBundleStorage.cpp.

References ibrcommon::BloomFilter::contains(), remove(), and dtn::data::Bundle::toString().

Here is the call graph for this function:

Get the current size

Definition at line 234 of file MemoryBundleStorage.cpp.

Referenced by remove(), and store().

void dtn::storage::MemoryBundleStorage::store ( const dtn::data::Bundle bundle) [virtual]

Stores a bundle in the storage.

Parameters:
bundleThe bundle to store.

Implements dtn::storage::BundleStorage.

Definition at line 138 of file MemoryBundleStorage.cpp.

References dtn::data::BundleList::add(), dtn::data::DefaultSerializer::getLength(), IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, size(), and dtn::data::Bundle::toString().

Here is the call graph for this function:


The documentation for this class was generated from the following files: