#include <EpidemicRoutingExtension.h>
Classes | |
| class | BroadcastSummaryVectorTask |
| class | EpidemicExtensionBlock |
| class | ExpireTask |
| class | ProcessBundleTask |
| class | SearchNextBundleTask |
| class | Task |
| class | UpdateSummaryVectorTask |
Public Member Functions | |
| EpidemicRoutingExtension () | |
| ~EpidemicRoutingExtension () | |
| void | notify (const dtn::core::Event *evt) |
| void | update (std::string &name, std::string &data) |
| virtual void | stopExtension () |
Protected Member Functions | |
| void | run () |
| bool | wasSeenBefore (const dtn::data::BundleID &id) const |
Definition at line 33 of file EpidemicRoutingExtension.h.
| dtn::routing::EpidemicRoutingExtension::EpidemicRoutingExtension | ( | ) |
Definition at line 45 of file EpidemicRoutingExtension.cpp.
References dtn::daemon::Configuration::getInstance(), dtn::daemon::Configuration::getNodename(), IBRCOMMON_LOGGER, and IBRCOMMON_LOGGER_ENDL.
| dtn::routing::EpidemicRoutingExtension::~EpidemicRoutingExtension | ( | ) |
Definition at line 54 of file EpidemicRoutingExtension.cpp.
References ibrcommon::JoinableThread::join(), and stopExtension().
| void dtn::routing::EpidemicRoutingExtension::notify | ( | const dtn::core::Event * | evt | ) | [virtual] |
Implements dtn::routing::BaseRouter::ThreadedExtension.
Definition at line 71 of file EpidemicRoutingExtension.cpp.
References dtn::routing::NeighborDatabase::NeighborEntry::_filter, dtn::routing::QueueBundleEvent::bundle, dtn::data::MetaBundle::destination, dtn::routing::NeighborDatabase::get(), dtn::core::NodeEvent::getAction(), dtn::core::TimeEvent::getAction(), dtn::net::TransferCompletedEvent::getBundle(), dtn::core::NodeEvent::getNode(), dtn::data::EID::getNodeEID(), dtn::net::TransferCompletedEvent::getPeer(), dtn::routing::BaseRouter::Extension::getRouter(), dtn::routing::BaseRouter::getStorage(), dtn::core::TimeEvent::getTimestamp(), dtn::core::Node::getURI(), ibrcommon::BloomFilter::insert(), dtn::core::NODE_AVAILABLE, dtn::core::NODE_UNAVAILABLE, ibrcommon::ThreadSafeQueue< T >::push(), dtn::core::BundleStorage::remove(), dtn::routing::NeighborDatabase::setAvailable(), dtn::routing::NeighborDatabase::setUnavailable(), dtn::core::TIME_SECOND_TICK, and dtn::data::BundleID::toString().
| void dtn::routing::EpidemicRoutingExtension::run | ( | ) | [protected, virtual] |
Abstract interface for thread context run method.
Implements ibrcommon::Thread.
Definition at line 177 of file EpidemicRoutingExtension.cpp.
References dtn::routing::NeighborDatabase::NeighborEntry::_filter, dtn::data::PrimaryBlock::_source, ibrcommon::ThreadSafeQueue< T >::blockingpop(), dtn::data::BundleList::expire(), dtn::core::BundleStorage::get(), dtn::routing::NeighborDatabase::get(), dtn::routing::NeighborDatabase::getAvailable(), dtn::data::Bundle::getBlock(), dtn::routing::SummaryVector::getBloomFilter(), dtn::routing::BaseRouter::Extension::getRouter(), dtn::routing::BaseRouter::getStorage(), dtn::routing::EpidemicRoutingExtension::EpidemicExtensionBlock::getSummaryVector(), ibrcommon::ThreadSafeQueue< T >::push(), dtn::core::BundleStorage::remove(), dtn::routing::BaseRouter::transferTo(), and dtn::routing::NeighborDatabase::updateBundles().
| void dtn::routing::EpidemicRoutingExtension::stopExtension | ( | ) | [virtual] |
Implements dtn::routing::BaseRouter::ThreadedExtension.
Definition at line 60 of file EpidemicRoutingExtension.cpp.
References ibrcommon::ThreadSafeQueue< T >::unblock().
Referenced by ~EpidemicRoutingExtension().
| void dtn::routing::EpidemicRoutingExtension::update | ( | std::string & | name, | |
| std::string & | data | |||
| ) | [virtual] |
Updates an discovery service block with current values
| name | ||
| data |
Implements dtn::net::DiscoveryServiceProvider.
Definition at line 65 of file EpidemicRoutingExtension.cpp.
| bool dtn::routing::EpidemicRoutingExtension::wasSeenBefore | ( | const dtn::data::BundleID & | id | ) | const [protected] |
Check if one bundle was seen before.
| id | The ID of the Bundle. |
Definition at line 273 of file EpidemicRoutingExtension.cpp.
1.6.3