Public Member Functions | Public Attributes

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

#include <NeighborDatabase.h>

Collaboration diagram for dtn::routing::NeighborDatabase::NeighborEntry:
Collaboration graph
[legend]

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 63 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 92 of file NeighborDatabase.cpp.

Referenced by dtn::routing::EpidemicRoutingExtension::notify(), and dtn::routing::EpidemicRoutingExtension::run().

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 100 of file NeighborDatabase.cpp.

References IBRCOMMON_LOGGER_DEBUG.

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

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

Definition at line 49 of file NeighborDatabase.cpp.

References dtn::routing::BundleSummary::add().

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

Here is the call graph for this function:

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

trigger expire mechanisms for bloomfilter and bundle summary

Parameters:
timestamp 

Definition at line 71 of file NeighborDatabase.cpp.

References eid, dtn::data::BundleList::expire(), dtn::data::EID::getString(), and IBRCOMMON_LOGGER_DEBUG.

Here is the call graph for this function:

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

Definition at line 54 of file NeighborDatabase.cpp.

References dtn::routing::BundleSummary::contains(), ibrcommon::BloomFilter::contains(), and eid.

Here is the call graph for this function:

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 116 of file NeighborDatabase.cpp.

References IBRCOMMON_LOGGER_DEBUG.

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

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

Definition at line 44 of file NeighborDatabase.cpp.

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

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:
bf The bloomfilter object
lifetime The 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: