IBR-DTNSuite
0.8
|
#include <NeighborDatabase.h>
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 |
Definition at line 64 of file NeighborDatabase.h.
Definition at line 17 of file NeighborDatabase.cpp.
Definition at line 21 of file NeighborDatabase.cpp.
Definition at line 25 of file NeighborDatabase.cpp.
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
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().
Definition at line 45 of file NeighborDatabase.cpp.
References dtn::utils::Clock::getTime().
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
bf | The bloomfilter object |
lifetime | The desired lifetime of this bloomfilter |
Definition at line 28 of file NeighborDatabase.cpp.
References dtn::utils::Clock::getExpireTime().
Referenced by dtn::routing::NodeHandshakeExtension::processHandshake().
Definition at line 103 of file NeighborDatabase.h.
Referenced by dtn::routing::BaseRouter::Extension::transferTo().