IBR-DTNSuite
0.10
|
#include <NeighborRoutingExtension.h>
Public Member Functions | |
NeighborRoutingExtension () | |
virtual | ~NeighborRoutingExtension () |
void | notify (const dtn::core::Event *evt) throw () |
void | componentUp () throw () |
void | componentDown () throw () |
![]() | |
RoutingExtension () | |
virtual | ~RoutingExtension ()=0 |
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) |
![]() | |
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 () |
![]() | |
BaseRouter & | operator* () |
![]() | |
JoinableThread (size_t size=DEFAULT_STACKSIZE) | |
![]() | |
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 | |
![]() | |
enum | CALLBACK_ACTION { ROUTE_CALLBACK_FORWARDED = 0, ROUTE_CALLBACK_ABORTED = 1, ROUTE_CALLBACK_REJECTED = 2, ROUTE_CALLBACK_DELETED = 3 } |
![]() | |
static bool | isRouting (const dtn::data::EID &eid) |
![]() | |
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 54 of file NeighborRoutingExtension.cpp.
|
virtual |
Definition at line 58 of file NeighborRoutingExtension.cpp.
References ibrcommon::JoinableThread::join().
|
protectedvirtual |
Implements ibrcommon::Thread.
Definition at line 63 of file NeighborRoutingExtension.cpp.
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 316 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 302 of file NeighborRoutingExtension.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 238 of file NeighborRoutingExtension.cpp.
References dtn::routing::QueueBundleEvent::bundle, 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::core::NODE_AVAILABLE, dtn::core::NODE_DATA_ADDED, dtn::routing::QueueBundleEvent::origin, dtn::net::ConnectionEvent::peer, and dtn::net::ConnectionEvent::state.
|
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 68 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().