IBR-DTNSuite
0.12
|
#include <FloodRoutingExtension.h>
Public Member Functions | |
FloodRoutingExtension () | |
virtual | ~FloodRoutingExtension () |
virtual void | eventDataChanged (const dtn::data::EID &peer) throw () |
virtual void | eventBundleQueued (const dtn::data::EID &peer, const dtn::data::MetaBundle &meta) throw () |
void | componentUp () throw () |
void | componentDown () throw () |
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 | requestHandshake (const dtn::data::EID &, NodeHandshake &) const |
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 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 43 of file FloodRoutingExtension.h.
dtn::routing::FloodRoutingExtension::FloodRoutingExtension | ( | ) |
Definition at line 54 of file FloodRoutingExtension.cpp.
References IBRCOMMON_LOGGER_ENDL, IBRCOMMON_LOGGER_TAG, and ibrcommon::LogLevel::info.
|
virtual |
Definition at line 60 of file FloodRoutingExtension.cpp.
References ibrcommon::JoinableThread::join().
|
protectedvirtual |
Implements ibrcommon::Thread.
Definition at line 113 of file FloodRoutingExtension.cpp.
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 102 of file FloodRoutingExtension.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 88 of file FloodRoutingExtension.cpp.
References 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 71 of file FloodRoutingExtension.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 65 of file FloodRoutingExtension.cpp.
|
protectedvirtual |
Abstract interface for thread context run method.
Implements ibrcommon::Thread.
Definition at line 118 of file FloodRoutingExtension.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().