dtn::ProphetDecider Class Reference

#include <ProphetLists.h>

Inheritance diagram for dtn::ProphetDecider:

oasys::Logger dtn::FwdDeciderGRTR dtn::FwdDeciderGRTRPLUS dtn::FwdDeciderGTMX dtn::FwdDeciderGTMXPLUS List of all members.

Detailed Description

Base class for Prophet forwarding strategy decision makers.

Definition at line 812 of file ProphetLists.h.

Public Member Functions

virtual ~ProphetDecider ()
virtual bool operator() (const Bundle *) const =0
bool should_fwd (const Bundle *bundle) const

Static Public Member Functions

static ProphetDeciderdecider (Prophet::fwd_strategy_t fs, ProphetTable *local=NULL, ProphetTable *remote=NULL, Link *nexthop=NULL, u_int max_forward=0, ProphetStats *stats=NULL)
 Factory method for creating decider instance.

Protected Member Functions

 ProphetDecider (Link *nexthop)

Protected Attributes

Linknext_hop_
EndpointIDPattern route_


Constructor & Destructor Documentation

virtual dtn::ProphetDecider::~ProphetDecider (  )  [inline, virtual]

Definition at line 823 of file ProphetLists.h.

dtn::ProphetDecider::ProphetDecider ( Link nexthop  )  [inline, protected]

Definition at line 827 of file ProphetLists.h.


Member Function Documentation

ProphetDecider * dtn::ProphetDecider::decider ( Prophet::fwd_strategy_t  fs,
ProphetTable local = NULL,
ProphetTable remote = NULL,
Link nexthop = NULL,
u_int  max_forward = 0,
ProphetStats stats = NULL 
) [inline, static]

Factory method for creating decider instance.

Definition at line 971 of file ProphetLists.h.

References dtn::Prophet::GRTR, dtn::Prophet::GRTR_MAX, dtn::Prophet::GRTR_PLUS, dtn::Prophet::GRTR_SORT, dtn::Prophet::GTMX, and dtn::Prophet::GTMX_PLUS.

Referenced by dtn::ProphetEncounter::send_bundle_offer().

virtual bool dtn::ProphetDecider::operator() ( const Bundle  )  const [pure virtual]

Implemented in dtn::FwdDeciderGRTR, dtn::FwdDeciderGTMX, dtn::FwdDeciderGRTRPLUS, and dtn::FwdDeciderGTMXPLUS.

bool dtn::ProphetDecider::should_fwd ( const Bundle bundle  )  const [inline]

Definition at line 1003 of file ProphetLists.h.

References ASSERT, dtn::Bundle::bundleid_, dtn::Bundle::fwdlog_, dtn::ForwardingLog::get_latest_entry(), dtn::ForwardingInfo::IN_FLIGHT, info, log_debug, dtn::Link::name(), next_hop_, dtn::ForwardingInfo::NONE, dtn::ForwardingInfo::state_to_str(), dtn::ForwardingInfo::TRANSMIT_FAILED, and dtn::ForwardingInfo::TRANSMITTED.

Referenced by dtn::FwdDeciderGRTR::operator()().


Member Data Documentation

Link* dtn::ProphetDecider::next_hop_ [protected]

Definition at line 833 of file ProphetLists.h.

Referenced by should_fwd().

EndpointIDPattern dtn::ProphetDecider::route_ [protected]

Definition at line 834 of file ProphetLists.h.

Referenced by dtn::FwdDeciderGTMXPLUS::operator()(), dtn::FwdDeciderGRTRPLUS::operator()(), dtn::FwdDeciderGTMX::operator()(), and dtn::FwdDeciderGRTR::operator()().


The documentation for this class was generated from the following file:
Generated on Thu Jun 7 12:54:34 2007 for DTN Reference Implementation by  doxygen 1.5.1