IBR-DTNSuite 0.6

dtn::routing::NeighborDatabase::NeighborEntry Class Reference

#include <NeighborDatabase.h>

Collaboration diagram for dtn::routing::NeighborDatabase::NeighborEntry:

List of all members.

Public Member Functions

 NeighborEntry ()
 NeighborEntry (const dtn::data::EID &eid)
virtual ~NeighborEntry ()
void update (const ibrcommon::BloomFilter &bf, const size_t lifetime=0)
void reset ()
void add (const dtn::data::MetaBundle &)
bool has (const dtn::data::BundleID &, const bool require_bloomfilter=false) const
void acquireFilterRequest () throw (NoMoreTransfersAvailable)
void acquireTransfer (const dtn::data::BundleID &id) throw (NoMoreTransfersAvailable, AlreadyInTransitException)
void releaseTransfer (const dtn::data::BundleID &id)
void expire (const size_t timestamp)

Public Attributes

const dtn::data::EID eid

Detailed Description

Definition at line 64 of file NeighborDatabase.h.


Constructor & Destructor Documentation

dtn::routing::NeighborDatabase::NeighborEntry::NeighborEntry ( )

Definition at line 17 of file NeighborDatabase.cpp.

dtn::routing::NeighborDatabase::NeighborEntry::NeighborEntry ( const dtn::data::EID eid)

Definition at line 21 of file NeighborDatabase.cpp.

dtn::routing::NeighborDatabase::NeighborEntry::~NeighborEntry ( ) [virtual]

Definition at line 25 of file NeighborDatabase.cpp.


Member Function Documentation

void dtn::routing::NeighborDatabase::NeighborEntry::acquireFilterRequest ( ) throw (NoMoreTransfersAvailable)

acquire resource to send a filter request. The resources are reset once if the filter expires.

Definition at line 105 of file NeighborDatabase.cpp.

void dtn::routing::NeighborDatabase::NeighborEntry::acquireTransfer ( const dtn::data::BundleID id) throw (NoMoreTransfersAvailable, AlreadyInTransitException)

Acquire transfer resources. If no resources is left, an exception is thrown.

Definition at line 116 of file NeighborDatabase.cpp.

References IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.

Referenced by dtn::routing::BaseRouter::Extension::transferTo().

void dtn::routing::NeighborDatabase::NeighborEntry::add ( const dtn::data::MetaBundle bundle)

Definition at line 55 of file NeighborDatabase.cpp.

Referenced by dtn::routing::NeighborDatabase::addBundle().

void dtn::routing::NeighborDatabase::NeighborEntry::expire ( const size_t  timestamp)

trigger expire mechanisms for bloomfilter and bundle summary

Parameters:
timestamp

Definition at line 77 of file NeighborDatabase.cpp.

References IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.

bool dtn::routing::NeighborDatabase::NeighborEntry::has ( const dtn::data::BundleID id,
const bool  require_bloomfilter = false 
) const

Definition at line 60 of file NeighborDatabase.cpp.

void dtn::routing::NeighborDatabase::NeighborEntry::releaseTransfer ( const dtn::data::BundleID id)

Release a transfer resource, but never exceed the maxium resource limit.

Definition at line 132 of file NeighborDatabase.cpp.

References IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.

Referenced by dtn::routing::BaseRouter::raiseEvent().

void dtn::routing::NeighborDatabase::NeighborEntry::reset ( )

Definition at line 45 of file NeighborDatabase.cpp.

References dtn::utils::Clock::getTime().

Referenced by dtn::routing::NeighborDatabase::reset().

Here is the call graph for this function:

void dtn::routing::NeighborDatabase::NeighborEntry::update ( const ibrcommon::BloomFilter bf,
const size_t  lifetime = 0 
)

updates the bloomfilter of this entry with a new one

Parameters:
bfThe bloomfilter object
lifetimeThe desired lifetime of this bloomfilter

Definition at line 28 of file NeighborDatabase.cpp.

References dtn::utils::Clock::getExpireTime().

Here is the call graph for this function:


Member Data Documentation


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