dtnsim::SimLink Class Reference

Inheritance diagram for dtnsim::SimLink:
dtn::CLInfo

List of all members.

Classes

struct  Params
struct  PendingEvent
 Helper class to track bundle transmission or reception events that need to be delivered in the future. More...
class  PendingEventTimer
 Timer class to manage pending events. More...

Public Member Functions

 SimLink (const LinkRef &link, const SimLink::Params &params)
 ~SimLink ()
void start_next_bundle ()
void timeout (const oasys::Time &now)
void handle_pending_inflight (const oasys::Time &now)
void handle_arrival_events (const oasys::Time &now)
void handle_transmitted_events (const oasys::Time &now)
void reschedule_timers ()

Public Attributes

LinkRef link_
 The dtn Link.
struct dtnsim::SimLink::Params params_
Nodepeer_node_
 The receiving node.
oasys::TokenBucket tb_
 Token bucket to track the link rate.
u_char buf_ [65536]
 Temp buffer.
PendingEventpending_inflight_
 Pending event (at most one) to put the next bundle in flight.
std::queue< PendingEvent * > arrival_events_
 Pending bundle arrival events.
std::queue< PendingEvent * > transmitted_events_
 Pending bundle transmitted events.

PendingEventTimer inflight_timer_
PendingEventTimer arrival_timer_
PendingEventTimer transmitted_timer_

Detailed Description

Definition at line 42 of file SimConvergenceLayer.cc.


Constructor & Destructor Documentation

dtnsim::SimLink::SimLink ( const LinkRef &  link,
const SimLink::Params params 
) [inline]

Definition at line 47 of file SimConvergenceLayer.cc.

dtnsim::SimLink::~SimLink (  )  [inline]

Definition at line 61 of file SimConvergenceLayer.cc.


Member Function Documentation

void dtnsim::SimLink::handle_arrival_events ( const oasys::Time &  now  ) 
void dtnsim::SimLink::handle_pending_inflight ( const oasys::Time &  now  ) 
void dtnsim::SimLink::handle_transmitted_events ( const oasys::Time &  now  ) 
void dtnsim::SimLink::reschedule_timers (  ) 
void dtnsim::SimLink::start_next_bundle (  ) 
void dtnsim::SimLink::timeout ( const oasys::Time &  now  ) 

Member Data Documentation

Pending bundle arrival events.

Definition at line 122 of file SimConvergenceLayer.cc.

Referenced by handle_arrival_events(), reschedule_timers(), and start_next_bundle().

Three timer instances to independently schedule the timers, though each class can itself be managed with a FIFO queue.

Definition at line 145 of file SimConvergenceLayer.cc.

Referenced by reschedule_timers().

u_char dtnsim::SimLink::buf_[65536]

Temp buffer.

Definition at line 101 of file SimConvergenceLayer.cc.

Referenced by start_next_bundle().

Three timer instances to independently schedule the timers, though each class can itself be managed with a FIFO queue.

Definition at line 144 of file SimConvergenceLayer.cc.

Referenced by reschedule_timers().

The dtn Link.

Definition at line 71 of file SimConvergenceLayer.cc.

Referenced by handle_pending_inflight(), handle_transmitted_events(), and start_next_bundle().

Pending event (at most one) to put the next bundle in flight.

Definition at line 119 of file SimConvergenceLayer.cc.

Referenced by handle_pending_inflight(), reschedule_timers(), and start_next_bundle().

oasys::TokenBucket dtnsim::SimLink::tb_

Token bucket to track the link rate.

Definition at line 98 of file SimConvergenceLayer.cc.

Referenced by start_next_bundle(), and dtnsim::SimConvergenceLayer::update_connectivity().

Pending bundle transmitted events.

Definition at line 125 of file SimConvergenceLayer.cc.

Referenced by handle_transmitted_events(), reschedule_timers(), and start_next_bundle().

Three timer instances to independently schedule the timers, though each class can itself be managed with a FIFO queue.

Definition at line 146 of file SimConvergenceLayer.cc.

Referenced by reschedule_timers().


The documentation for this class was generated from the following file:
Generated on Sun Nov 21 13:21:27 2010 for DTN Reference Implementation by  doxygen 1.6.3