IBR-DTNSuite
0.10
|
#include <EpidemicRoutingExtension.h>
Public Member Functions | |
EpidemicRoutingExtension () | |
virtual | ~EpidemicRoutingExtension () |
void | notify (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 | 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 () |
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 Public Member Functions inherited from dtn::routing::RoutingExtension | |
static bool | isRouting (const dtn::data::EID &eid) |
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 46 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 186 of file EpidemicRoutingExtension.cpp.
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 175 of file EpidemicRoutingExtension.cpp.
References ibrcommon::LogLevel::error, IBRCOMMON_LOGGER_ENDL, IBRCOMMON_LOGGER_TAG, ibrcommon::JoinableThread::join(), ibrcommon::JoinableThread::stop(), and ibrcommon::Exception::what().
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 161 of file EpidemicRoutingExtension.cpp.
References ibrcommon::LogLevel::error, IBRCOMMON_LOGGER_ENDL, IBRCOMMON_LOGGER_TAG, ibrcommon::JoinableThread::start(), and ibrcommon::Exception::what().
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 76 of file EpidemicRoutingExtension.cpp.
References dtn::net::ConnectionEvent::CONNECTION_UP, dtn::core::NodeEvent::getAction(), dtn::core::BundleCore::getConnectionManager(), dtn::core::Node::getEID(), dtn::core::BundleCore::getInstance(), dtn::net::ConnectionManager::getNeighbors(), dtn::core::NodeEvent::getNode(), dtn::net::TransferCompletedEvent::getPeer(), dtn::net::TransferAbortedEvent::getPeer(), dtn::routing::NodeHandshakeEvent::HANDSHAKE_COMPLETED, dtn::routing::NodeHandshakeEvent::HANDSHAKE_UPDATED, dtn::core::NODE_AVAILABLE, dtn::core::NODE_DATA_ADDED, dtn::routing::QueueBundleEvent::origin, dtn::routing::NodeHandshakeEvent::peer, dtn::net::ConnectionEvent::peer, dtn::routing::NodeHandshakeEvent::state, and dtn::net::ConnectionEvent::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 191 of file EpidemicRoutingExtension.cpp.
References dtn::data::MetaBundle::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::MetaBundle::get(), dtn::routing::NeighborDatabase::get(), dtn::data::EID::getNode(), dtn::data::MetaBundle::hopcount, IBRCOMMON_LOGGER_DEBUG_TAG, IBRCOMMON_LOGGER_ENDL, dtn::routing::RoutingExtension::isRouting(), dtn::routing::NeighborDatabase::NeighborEntry::isTransferThresholdReached(), dtn::core::BundleCore::local, dtn::data::BundleID::source, dtn::routing::RoutingExtension::transferTo(), ibrcommon::Exception::what(), and ibrcommon::Thread::yield().