#include <ProphetRouter.h>
Inheritance diagram for dtn::ProphetRouter:
Definition at line 26 of file ProphetRouter.h.
Public Member Functions | |
ProphetRouter () | |
virtual | ~ProphetRouter () |
void | initialize () |
post-constructor initialization routine | |
void | handle_event (BundleEvent *) |
Event handler overridden from BundleRouter / BundleEventHandler that dispatches to the type specific handlers where appropriate. | |
void | get_routing_state (oasys::StringBuffer *) |
Dump the routing state. | |
void | handle_bundle_received (BundleReceivedEvent *) |
Handler for new bundle arrivals. | |
void | handle_bundle_delivered (BundleReceivedEvent *) |
Handler for bundle delivered signal. | |
void | handle_bundle_expired (BundleExpiredEvent *) |
Handler for bundle end-of-life. | |
void | handle_link_created (LinkCreatedEvent *event) |
Monitor new links, complain if EID is null. | |
void | handle_contact_up (ContactUpEvent *) |
Prophet's "New Neighbor" signal, section 2.3, p. | |
void | handle_contact_down (ContactDownEvent *) |
Prophet's "Neighbor Gone" signal, section 2.3, p. | |
void | handle_link_state_change_request (LinkStateChangeRequest *) |
Clear pending outbound queues, if any. | |
Static Public Attributes | |
static ProphetParams | params_ |
Prophet's configuration metrics that are propagated all the way down to ProphetController, ProphetEncounter, and ProphetNode. | |
Protected Attributes | |
ProphetController * | oracle_ |
dtn::ProphetRouter::ProphetRouter | ( | ) |
dtn::ProphetRouter::~ProphetRouter | ( | ) | [virtual] |
Definition at line 41 of file ProphetRouter.cc.
References oracle_, and dtn::ProphetController::shutdown().
void dtn::ProphetRouter::initialize | ( | ) | [virtual] |
post-constructor initialization routine
Reimplemented from dtn::BundleRouter.
Definition at line 48 of file ProphetRouter.cc.
References dtn::BundleRouter::actions_, dtn::ProphetController::init(), log_info, oracle_, params_, and dtn::BundleRouter::pending_bundles_.
void dtn::ProphetRouter::handle_event | ( | BundleEvent * | ) | [virtual] |
Event handler overridden from BundleRouter / BundleEventHandler that dispatches to the type specific handlers where appropriate.
Implements dtn::BundleRouter.
Definition at line 61 of file ProphetRouter.cc.
References dtn::BundleEventHandler::dispatch_event().
void dtn::ProphetRouter::get_routing_state | ( | oasys::StringBuffer * | ) | [virtual] |
Dump the routing state.
Implements dtn::BundleRouter.
Definition at line 67 of file ProphetRouter.cc.
References dtn::ProphetController::dump_state(), and oracle_.
void dtn::ProphetRouter::handle_bundle_received | ( | BundleReceivedEvent * | ) | [virtual] |
Handler for new bundle arrivals.
Reimplemented from dtn::BundleEventHandler.
Definition at line 73 of file ProphetRouter.cc.
References dtn::BundleReceivedEvent::bundleref_, dtn::BundleReceivedEvent::contact_, dtn::ProphetController::handle_bundle_received(), oasys::Ref< _Type >::object(), and oracle_.
void dtn::ProphetRouter::handle_bundle_delivered | ( | BundleReceivedEvent * | ) |
Handler for bundle delivered signal.
Definition at line 80 of file ProphetRouter.cc.
References dtn::BundleReceivedEvent::bundleref_, dtn::ProphetController::handle_bundle_delivered(), oasys::Ref< _Type >::object(), and oracle_.
void dtn::ProphetRouter::handle_bundle_expired | ( | BundleExpiredEvent * | ) | [virtual] |
Handler for bundle end-of-life.
Reimplemented from dtn::BundleEventHandler.
Definition at line 87 of file ProphetRouter.cc.
References dtn::BundleExpiredEvent::bundleref_, dtn::ProphetController::handle_bundle_expired(), oasys::Ref< _Type >::object(), and oracle_.
void dtn::ProphetRouter::handle_link_created | ( | LinkCreatedEvent * | event | ) | [virtual] |
Monitor new links, complain if EID is null.
Reimplemented from dtn::BundleEventHandler.
Definition at line 94 of file ProphetRouter.cc.
References ASSERT, dtn::EndpointID::equals(), dtn::LinkCreatedEvent::link_, dtn::EndpointID::NULL_EID(), and dtn::Link::remote_eid().
void dtn::ProphetRouter::handle_contact_up | ( | ContactUpEvent * | ) | [virtual] |
Prophet's "New Neighbor" signal, section 2.3, p.
13
Reimplemented from dtn::BundleEventHandler.
Definition at line 101 of file ProphetRouter.cc.
References dtn::ContactUpEvent::contact_, dtn::ProphetController::new_neighbor(), and oracle_.
void dtn::ProphetRouter::handle_contact_down | ( | ContactDownEvent * | ) | [virtual] |
Prophet's "Neighbor Gone" signal, section 2.3, p.
13
Reimplemented from dtn::BundleEventHandler.
Definition at line 109 of file ProphetRouter.cc.
References dtn::ContactDownEvent::contact_, dtn::ProphetController::neighbor_gone(), and oracle_.
void dtn::ProphetRouter::handle_link_state_change_request | ( | LinkStateChangeRequest * | ) | [virtual] |
Clear pending outbound queues, if any.
Reimplemented from dtn::BundleEventHandler.
Definition at line 116 of file ProphetRouter.cc.
References dtn::Link::AVAILABLE, dtn::Link::BUSY, dtn::LinkStateChangeRequest::contact_, dtn::ProphetController::handle_link_state_change_request(), dtn::LinkStateChangeRequest::old_state_, oracle_, and dtn::LinkStateChangeRequest::state_.
ProphetParams dtn::ProphetRouter::params_ [static] |
Prophet's configuration metrics that are propagated all the way down to ProphetController, ProphetEncounter, and ProphetNode.
Definition at line 87 of file ProphetRouter.h.
Referenced by dtn::ProphetCommand::exec(), initialize(), and dtn::ProphetCommand::ProphetCommand().
ProphetController* dtn::ProphetRouter::oracle_ [protected] |
Definition at line 90 of file ProphetRouter.h.
Referenced by get_routing_state(), handle_bundle_delivered(), handle_bundle_expired(), handle_bundle_received(), handle_contact_down(), handle_contact_up(), handle_link_state_change_request(), initialize(), and ~ProphetRouter().