IBR-DTNSuite
0.12
|
#include <NeighborRoutingExtension.h>
Public Member Functions | |
NeighborRoutingExtension () | |
virtual | ~NeighborRoutingExtension () |
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 40 of file NeighborRoutingExtension.h.
dtn::routing::NeighborRoutingExtension::NeighborRoutingExtension | ( | ) |
Definition at line 53 of file NeighborRoutingExtension.cpp.
|
virtual |
Definition at line 57 of file NeighborRoutingExtension.cpp.
References ibrcommon::JoinableThread::join().
|
protectedvirtual |
Implements ibrcommon::Thread.
Definition at line 62 of file NeighborRoutingExtension.cpp.
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 273 of file NeighborRoutingExtension.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 259 of file NeighborRoutingExtension.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 243 of file NeighborRoutingExtension.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 237 of file NeighborRoutingExtension.cpp.
|
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.
process a received bundle
Implements ibrcommon::Thread.
Definition at line 67 of file NeighborRoutingExtension.cpp.
References dtn::routing::NeighborDatabase::get(), IBRCOMMON_LOGGER_DEBUG_TAG, IBRCOMMON_LOGGER_ENDL, dtn::routing::NeighborDatabase::NeighborEntry::isTransferThresholdReached(), dtn::routing::RoutingExtension::transferTo(), ibrcommon::Exception::what(), and ibrcommon::Thread::yield().