dtn::routing::NeighborDatabase Class Reference

#include <NeighborDatabase.h>

List of all members.

Classes

class  BloomfilterNotAvailableException
class  NeighborEntry

Public Member Functions

 NeighborDatabase ()
virtual ~NeighborDatabase ()
void updateLastSeen (const dtn::data::EID &eid)
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)
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 34 of file NeighborDatabase.cpp.

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

Definition at line 38 of file NeighborDatabase.cpp.


Member Function Documentation

NeighborDatabase::NeighborEntry & dtn::routing::NeighborDatabase::get ( const dtn::data::EID eid  ) 
std::set< dtn::data::EID > dtn::routing::NeighborDatabase::getAvailable (  )  const

Definition at line 84 of file NeighborDatabase.cpp.

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

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

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

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 
)
void dtn::routing::NeighborDatabase::updateLastSeen ( const dtn::data::EID eid  ) 

The documentation for this class was generated from the following files:
Generated on Mon Aug 23 08:13:00 2010 for IBR-DTNSuite by  doxygen 1.6.3