dtn::ProphetRouter Class Reference

#include <ProphetRouter.h>

Inheritance diagram for dtn::ProphetRouter:

dtn::BundleRouter dtn::BundleEventHandler oasys::Logger

List of all members.


Detailed Description

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

ProphetControlleroracle_

Constructor & Destructor Documentation

dtn::ProphetRouter::ProphetRouter (  ) 

Definition at line 34 of file ProphetRouter.cc.

References log_info.

dtn::ProphetRouter::~ProphetRouter (  )  [virtual]

Definition at line 41 of file ProphetRouter.cc.

References oracle_, and dtn::ProphetController::shutdown().


Member Function Documentation

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 event  )  [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 buf  )  [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 event  )  [virtual]

Handler for new bundle arrivals.

Reimplemented from dtn::BundleEventHandler.

Definition at line 73 of file ProphetRouter.cc.

References dtn::BundleReceivedEvent::contact_, dtn::ProphetController::handle_bundle_received(), and oracle_.

void dtn::ProphetRouter::handle_bundle_delivered ( BundleReceivedEvent event  ) 

Handler for bundle delivered signal.

Definition at line 80 of file ProphetRouter.cc.

References dtn::ProphetController::handle_bundle_delivered(), and oracle_.

void dtn::ProphetRouter::handle_bundle_expired ( BundleExpiredEvent event  )  [virtual]

Handler for bundle end-of-life.

Reimplemented from dtn::BundleEventHandler.

Definition at line 87 of file ProphetRouter.cc.

References dtn::ProphetController::handle_bundle_expired(), 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 event  )  [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 event  )  [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 req  )  [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_.


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Sat Sep 8 08:43:48 2007 for DTN Reference Implementation by  doxygen 1.5.3