|
IBR-DTNSuite
0.12
|
#include <EpidemicRoutingExtension.h>


Public Member Functions | |
| EpidemicRoutingExtension () | |
| virtual | ~EpidemicRoutingExtension () |
| virtual void | eventDataChanged (const dtn::data::EID &peer) throw () |
| virtual void | eventBundleQueued (const dtn::data::EID &peer, const dtn::data::MetaBundle &meta) throw () |
| void | raiseEvent (const dtn::core::Event *evt) throw () |
| void | componentUp () throw () |
| void | componentDown () throw () |
| virtual void | requestHandshake (const dtn::data::EID &, NodeHandshake &) const |
Public Member Functions inherited from dtn::routing::RoutingExtension | |
| RoutingExtension () | |
| virtual | ~RoutingExtension ()=0 |
| virtual void | eventTransferCompleted (const dtn::data::EID &peer, const dtn::data::MetaBundle &meta) throw () |
| virtual void | responseHandshake (const dtn::data::EID &, const NodeHandshake &, NodeHandshake &) |
| virtual void | processHandshake (const dtn::data::EID &, NodeHandshake &) |
| void | transferTo (const dtn::data::EID &destination, const dtn::data::MetaBundle &meta) |
Public Member Functions inherited from ibrcommon::JoinableThread | |
| virtual | ~JoinableThread ()=0 |
| void | join (void) throw (ThreadException) |
| bool | isRunning (void) |
| void | start (int priority=0) throw (ThreadException) |
| void | stop () throw () |
Public Member Functions inherited from dtn::core::EventReceiver | |
| virtual | ~EventReceiver ()=0 |
Protected Member Functions | |
| void | run () throw () |
| void | __cancellation () throw () |
Protected Member Functions inherited from dtn::routing::RoutingExtension | |
| BaseRouter & | operator* () |
Protected Member Functions inherited from ibrcommon::JoinableThread | |
| JoinableThread (size_t size=DEFAULT_STACKSIZE) | |
Protected Member Functions inherited from ibrcommon::Thread | |
| virtual | ~Thread ()=0 |
| void | reset () throw (ThreadException) |
| virtual void | setup (void) throw () |
| virtual void | finally (void) throw () |
| bool | isFinalized () throw () |
| bool | operator== (const ibrcommon::Thread &other) |
| Thread (size_t stack=DEFAULT_STACKSIZE) | |
| int | kill (int sig) |
| void | cancel () throw () |
Additional Inherited Members | |
Public Types inherited from dtn::routing::RoutingExtension | |
| enum | CALLBACK_ACTION { ROUTE_CALLBACK_FORWARDED = 0, ROUTE_CALLBACK_ABORTED = 1, ROUTE_CALLBACK_REJECTED = 2, ROUTE_CALLBACK_DELETED = 3 } |
Static Protected Member Functions inherited from ibrcommon::Thread | |
| static size_t | getNumberOfProcessors () |
| static void | yield (void) |
| static void | sleep (time_t timeout) |
| static void | concurrency (int level) |
| static bool | equal (pthread_t thread1, pthread_t thread2) |
| static void * | __execute__ (void *obj) throw () |
Definition at line 47 of file EpidemicRoutingExtension.h.
| dtn::routing::EpidemicRoutingExtension::EpidemicRoutingExtension | ( | ) |
Definition at line 60 of file EpidemicRoutingExtension.cpp.
References IBRCOMMON_LOGGER_ENDL, IBRCOMMON_LOGGER_TAG, and ibrcommon::LogLevel::info.
|
virtual |
Definition at line 66 of file EpidemicRoutingExtension.cpp.
References ibrcommon::JoinableThread::join().

|
protectedvirtual | |||||||||||||
Implements ibrcommon::Thread.
Definition at line 147 of file EpidemicRoutingExtension.cpp.
|
virtual | |||||||||||||
Implements dtn::routing::RoutingExtension.
Definition at line 134 of file EpidemicRoutingExtension.cpp.
References ibrcommon::LogLevel::error, IBRCOMMON_LOGGER_ENDL, IBRCOMMON_LOGGER_TAG, ibrcommon::JoinableThread::join(), dtn::core::EventDispatcher< E >::remove(), ibrcommon::JoinableThread::stop(), and ibrcommon::Exception::what().

|
virtual | |||||||||||||
Implements dtn::routing::RoutingExtension.
Definition at line 118 of file EpidemicRoutingExtension.cpp.
References dtn::core::EventDispatcher< E >::add(), ibrcommon::LogLevel::error, IBRCOMMON_LOGGER_ENDL, IBRCOMMON_LOGGER_TAG, ibrcommon::JoinableThread::start(), and ibrcommon::Exception::what().

|
virtual | ||||||||||||||||||||
This method is called every time a bundle was queued
Reimplemented from dtn::routing::RoutingExtension.
Definition at line 82 of file EpidemicRoutingExtension.cpp.
References dtn::core::BundleCore::getConnectionManager(), dtn::core::Node::getEID(), dtn::core::BundleCore::getInstance(), and dtn::net::ConnectionManager::getNeighbors().

|
virtual | ||||||||||||||
This method is called every time something has changed. The module should search again for bundles to transfer to the given peer.
Reimplemented from dtn::routing::RoutingExtension.
Definition at line 76 of file EpidemicRoutingExtension.cpp.
|
virtual | ||||||||||||||
Implements dtn::core::EventReceiver.
Definition at line 99 of file EpidemicRoutingExtension.cpp.
References dtn::routing::NodeHandshakeEvent::HANDSHAKE_COMPLETED, dtn::routing::NodeHandshakeEvent::HANDSHAKE_UPDATED, dtn::routing::NodeHandshakeEvent::peer, and dtn::routing::NodeHandshakeEvent::state.
|
virtual |
Reimplemented from dtn::routing::RoutingExtension.
Definition at line 71 of file EpidemicRoutingExtension.cpp.
References dtn::routing::NodeHandshake::addRequest(), and dtn::routing::BloomFilterSummaryVector::identifier.

|
protectedvirtual | |||||||||||||
Abstract interface for thread context run method.
SearchNextBundleTask triggers a search for a bundle to transfer to another host. This Task is generated by TransferCompleted, TransferAborted and node events.
Implements ibrcommon::Thread.
Definition at line 152 of file EpidemicRoutingExtension.cpp.
References dtn::data::MetaBundle::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::daemon::Configuration::Network::doPreferDirect(), dtn::data::MetaBundle::get(), dtn::routing::NeighborDatabase::get(), dtn::core::BundleCore::getConnectionManager(), dtn::core::BundleCore::getInstance(), dtn::daemon::Configuration::getInstance(), dtn::net::ConnectionManager::getNeighbors(), dtn::daemon::Configuration::getNetwork(), dtn::data::EID::getNode(), dtn::data::MetaBundle::hopcount, IBRCOMMON_LOGGER_DEBUG_TAG, IBRCOMMON_LOGGER_ENDL, dtn::routing::NeighborDatabase::NeighborEntry::isTransferThresholdReached(), dtn::core::BundleCore::local, dtn::routing::RoutingExtension::transferTo(), ibrcommon::Exception::what(), and ibrcommon::Thread::yield().
