#include <BaseRouter.h>
Classes | |
| class | Endpoint |
| class | Extension |
| class | NoNeighbourFoundException |
| class | NoRouteFoundException |
| class | RoutingException |
| class | ThreadedExtension |
| class | VirtualEndpoint |
Public Member Functions | |
| BaseRouter (dtn::core::BundleStorage &storage) | |
| ~BaseRouter () | |
| void | addExtension (BaseRouter::Extension *extension) |
| void | transferTo (const dtn::data::EID &destination, const dtn::data::BundleID &id) |
| void | transferTo (const dtn::data::EID &destination, dtn::data::Bundle &bundle) |
| void | raiseEvent (const dtn::core::Event *evt) |
| dtn::data::Bundle | getBundle (const dtn::data::BundleID &id) |
| dtn::core::BundleStorage & | getStorage () |
| bool | isKnown (const dtn::data::BundleID &id) |
| const SummaryVector | getSummaryVector () |
Protected Member Functions | |
| virtual void | componentUp () |
| virtual void | componentDown () |
Definition at line 25 of file BaseRouter.h.
| dtn::routing::BaseRouter::BaseRouter | ( | dtn::core::BundleStorage & | storage | ) |
implementation of the BaseRouter class
Definition at line 79 of file BaseRouter.cpp.
| dtn::routing::BaseRouter::~BaseRouter | ( | ) |
Definition at line 86 of file BaseRouter.cpp.
| void dtn::routing::BaseRouter::addExtension | ( | BaseRouter::Extension * | extension | ) |
Add a routing extension to the routing core.
| extension |
Definition at line 94 of file BaseRouter.cpp.
Referenced by main().
| void dtn::routing::BaseRouter::componentDown | ( | ) | [protected, virtual] |
Implements dtn::daemon::IntegratedComponent.
Definition at line 123 of file BaseRouter.cpp.
References dtn::core::BundleGeneratedEvent::className, dtn::core::TimeEvent::className, dtn::core::BundleExpiredEvent::className, dtn::core::NodeEvent::className, dtn::routing::RequeueBundleEvent::className, dtn::routing::QueueBundleEvent::className, dtn::net::BundleReceivedEvent::className, dtn::net::TransferCompletedEvent::className, dtn::net::TransferAbortedEvent::className, and dtn::core::EventReceiver::unbindEvent().
| void dtn::routing::BaseRouter::componentUp | ( | ) | [protected, virtual] |
Implements dtn::daemon::IntegratedComponent.
Definition at line 99 of file BaseRouter.cpp.
References dtn::core::EventReceiver::bindEvent(), dtn::core::BundleGeneratedEvent::className, dtn::core::TimeEvent::className, dtn::core::BundleExpiredEvent::className, dtn::core::NodeEvent::className, dtn::routing::RequeueBundleEvent::className, dtn::routing::QueueBundleEvent::className, dtn::net::BundleReceivedEvent::className, dtn::net::TransferCompletedEvent::className, dtn::net::TransferAbortedEvent::className, and ibrcommon::JoinableThread::start().
| dtn::data::Bundle dtn::routing::BaseRouter::getBundle | ( | const dtn::data::BundleID & | id | ) |
Get a bundle out of the storage.
| id | The ID of the bundle. |
Definition at line 259 of file BaseRouter.cpp.
References dtn::core::BundleStorage::get().
| dtn::core::BundleStorage & dtn::routing::BaseRouter::getStorage | ( | ) |
Definition at line 264 of file BaseRouter.cpp.
Referenced by dtn::routing::NeighborRoutingExtension::NeighborRoutingExtension(), dtn::routing::StaticRoutingExtension::notify(), dtn::routing::EpidemicRoutingExtension::notify(), dtn::routing::EpidemicRoutingExtension::run(), and dtn::routing::StaticRoutingExtension::StaticRoutingExtension().
| const SummaryVector dtn::routing::BaseRouter::getSummaryVector | ( | ) |
Definition at line 276 of file BaseRouter.cpp.
References dtn::routing::BundleSummary::getSummaryVector().
| bool dtn::routing::BaseRouter::isKnown | ( | const dtn::data::BundleID & | id | ) |
Definition at line 270 of file BaseRouter.cpp.
References dtn::routing::BundleSummary::contains().
Referenced by raiseEvent().
| void dtn::routing::BaseRouter::raiseEvent | ( | const dtn::core::Event * | evt | ) | [virtual] |
method to receive new events from the EventSwitch
Implements dtn::core::EventReceiver.
Definition at line 166 of file BaseRouter.cpp.
References dtn::routing::BundleSummary::add(), dtn::routing::QueueBundleEvent::bundle, dtn::core::BundleGeneratedEvent::bundle, dtn::net::BundleReceivedEvent::bundle, dtn::core::BUNDLE_RECEIVED, dtn::data::MetaBundle::destination, dtn::data::BundleList::expire(), dtn::core::BundleCore::getInstance(), dtn::data::EID::getNodeEID(), dtn::core::BundleCore::getStorage(), dtn::core::TimeEvent::getTimestamp(), dtn::data::EID::hasApplication(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, isKnown(), dtn::core::BundleEvent::raise(), dtn::routing::QueueBundleEvent::raise(), dtn::core::BundleStorage::store(), and dtn::data::Bundle::toString().
| void dtn::routing::BaseRouter::transferTo | ( | const dtn::data::EID & | destination, | |
| dtn::data::Bundle & | bundle | |||
| ) |
Definition at line 157 of file BaseRouter.cpp.
References dtn::core::BundleCore::getInstance(), and dtn::core::BundleCore::transferTo().
| void dtn::routing::BaseRouter::transferTo | ( | const dtn::data::EID & | destination, | |
| const dtn::data::BundleID & | id | |||
| ) |
Transfer one bundle to another node.
| BundleNotFoundException | if the bundle do not exist. |
| destination | The EID of the other node. | |
| id | The ID of the bundle to transfer. This bundle must be stored in the storage. |
Definition at line 148 of file BaseRouter.cpp.
References dtn::core::BundleStorage::get().
Referenced by dtn::routing::RetransmissionExtension::notify(), dtn::routing::NeighborRoutingExtension::run(), and dtn::routing::EpidemicRoutingExtension::run().
1.6.3