IBR-DTNSuite  0.8
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


Member Function Documentation

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

Definition at line 105 of file NeighborDatabase.cpp.

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().

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.

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().

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().

Referenced by dtn::routing::NodeHandshakeExtension::processHandshake().

Here is the call graph for this function:


Member Data Documentation


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