Classes | Public Member Functions

dtn::routing::NeighborDatabase Class Reference

#include <NeighborDatabase.h>

List of all members.

Classes

class  BloomfilterNotAvailableException
class  NeighborEntry
class  NoMoreTransfersAvailable

Public Member Functions

 NeighborDatabase ()
virtual ~NeighborDatabase ()
void updateBundles (const dtn::data::EID &eid, const ibrcommon::BloomFilter &bf)
bool knowBundle (const dtn::data::EID &eid, const dtn::data::BundleID &bundle) throw (BloomfilterNotAvailableException)
void setAvailable (const dtn::data::EID &eid)
void setUnavailable (const dtn::data::EID &eid)
const std::set< dtn::data::EIDgetAvailable () const
NeighborDatabase::NeighborEntryget (const dtn::data::EID &eid)

Detailed Description

The neighbor database contains collected information about neighbors. This includes the last timestamp on which a neighbor was seen, the bundles this neighbors has received (bloomfilter with age).

Definition at line 26 of file NeighborDatabase.h.


Constructor & Destructor Documentation

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

Definition at line 51 of file NeighborDatabase.cpp.

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

Definition at line 55 of file NeighborDatabase.cpp.


Member Function Documentation

NeighborDatabase::NeighborEntry & dtn::routing::NeighborDatabase::get ( const dtn::data::EID eid  ) 
const std::set< dtn::data::EID > dtn::routing::NeighborDatabase::getAvailable (  )  const
bool dtn::routing::NeighborDatabase::knowBundle ( const dtn::data::EID eid,
const dtn::data::BundleID bundle 
) throw (BloomfilterNotAvailableException)

Use the bloom filter of a known neighbor to determine if a specific bundle is known by the neighbor and should not transferred to it.

Parameters:
eid 
bundle 
Returns:
True, if the bundle is known by the neighbor.

Definition at line 76 of file NeighborDatabase.cpp.

References dtn::routing::NeighborDatabase::NeighborEntry::_filter, and ibrcommon::BloomFilter::contains().

Here is the call graph for this function:

void dtn::routing::NeighborDatabase::setAvailable ( const dtn::data::EID eid  ) 
void dtn::routing::NeighborDatabase::setUnavailable ( const dtn::data::EID eid  ) 
void dtn::routing::NeighborDatabase::updateBundles ( const dtn::data::EID eid,
const ibrcommon::BloomFilter bf 
)

Definition at line 70 of file NeighborDatabase.cpp.

References dtn::routing::NeighborDatabase::NeighborEntry::updateBundles().

Referenced by dtn::routing::EpidemicRoutingExtension::run().

Here is the call graph for this function:


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