IBR-DTNSuite
0.8
|
#include <NeighborRoutingExtension.h>
Classes | |
class | ProcessBundleTask |
class | SearchNextBundleTask |
class | Task |
Public Member Functions | |
NeighborRoutingExtension () | |
virtual | ~NeighborRoutingExtension () |
void | notify (const dtn::core::Event *evt) |
Protected Member Functions | |
void | run () |
void | __cancellation () |
Definition at line 26 of file NeighborRoutingExtension.h.
Definition at line 38 of file NeighborRoutingExtension.cpp.
Definition at line 42 of file NeighborRoutingExtension.cpp.
References ibrcommon::JoinableThread::join(), and ibrcommon::JoinableThread::stop().
void dtn::routing::NeighborRoutingExtension::__cancellation | ( | ) | [protected, virtual] |
Implements ibrcommon::Thread.
Definition at line 48 of file NeighborRoutingExtension.cpp.
References ibrcommon::Queue< T >::abort().
void dtn::routing::NeighborRoutingExtension::notify | ( | const dtn::core::Event * | evt | ) | [virtual] |
Implements dtn::routing::BaseRouter::ThreadedExtension.
Definition at line 191 of file NeighborRoutingExtension.cpp.
References dtn::routing::QueueBundleEvent::bundle, dtn::core::BUNDLE_DELETED, dtn::net::ConnectionEvent::CONNECTION_UP, dtn::data::StatusReportBlock::DEPLETED_STORAGE, dtn::data::MetaBundle::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::MetaBundle::get(), dtn::core::NodeEvent::getAction(), dtn::net::TransferCompletedEvent::getBundle(), dtn::net::TransferAbortedEvent::getBundleID(), dtn::core::Node::getEID(), dtn::core::NodeEvent::getNode(), dtn::data::EID::getNode(), dtn::net::TransferCompletedEvent::getPeer(), dtn::net::TransferAbortedEvent::getPeer(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, dtn::data::StatusReportBlock::NO_KNOWN_ROUTE_TO_DESTINATION_FROM_HERE, dtn::core::NODE_AVAILABLE, dtn::routing::QueueBundleEvent::origin, dtn::net::ConnectionEvent::peer, dtn::data::MetaBundle::procflags, ibrcommon::Queue< T >::push(), dtn::core::BundlePurgeEvent::raise(), dtn::core::BundleEvent::raise(), dtn::net::TransferAbortedEvent::reason, dtn::net::TransferAbortedEvent::REASON_BUNDLE_DELETED, dtn::net::TransferAbortedEvent::REASON_CONNECTION_DOWN, dtn::net::TransferAbortedEvent::REASON_REFUSED, dtn::net::TransferAbortedEvent::REASON_RETRY_LIMIT_REACHED, dtn::net::TransferAbortedEvent::REASON_UNDEFINED, dtn::net::ConnectionEvent::state, and dtn::data::BundleID::toString().
void dtn::routing::NeighborRoutingExtension::run | ( | ) | [protected, virtual] |
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 53 of file NeighborRoutingExtension.cpp.
References dtn::data::MetaBundle::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::MetaBundle::get(), dtn::storage::BundleStorage::get(), dtn::routing::NeighborDatabase::get(), dtn::core::Node::getEID(), dtn::core::BundleCore::getInstance(), dtn::core::BundleCore::getNeighbors(), dtn::data::EID::getNode(), ibrcommon::Queue< T >::getnpop(), dtn::data::MetaBundle::hopcount, IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, dtn::core::BundleCore::local, ibrcommon::Queue< T >::push(), dtn::routing::BaseRouter::Extension::transferTo(), and ibrcommon::Thread::yield().