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