dtn::CustodyTimer Class Reference

A custody transfer timer. More...

#include <CustodyTimer.h>

List of all members.

Public Member Functions

 CustodyTimer (const oasys::Time &xmit_time, const CustodyTimerSpec &spec, Bundle *bundle, const LinkRef &link)
 Constructor.
void timeout (const struct timeval &now)
 Virtual timeout function.

Public Attributes

BundleRef bundle_
 The link that it was transmitted on.
LinkRef link_

Detailed Description

A custody transfer timer.

Each bundle stores a vector of these timers, as the bundle may be in flight on multiple links concurrently, each having distinct retransmission timer parameters. When a given timer fires, a retransmission is expected to be initiated on only one link.

When a successful custody signal is received, the daemon will cancel all timers and release custody, informing the routers as such. If a failed custody signal is received or a timer fires, it is up to the router to initiate a retransmission on one or more links.

Definition at line 105 of file CustodyTimer.h.


Constructor & Destructor Documentation

dtn::CustodyTimer::CustodyTimer ( const oasys::Time &  xmit_time,
const CustodyTimerSpec spec,
Bundle bundle,
const LinkRef link 
)

Constructor.

Definition at line 79 of file CustodyTimer.cc.

References dtn::CustodyTimerSpec::calculate_timeout().


Member Function Documentation

void dtn::CustodyTimer::timeout ( const struct timeval &  now  ) 

Virtual timeout function.

The bundle for whom the the timer refers

Definition at line 103 of file CustodyTimer.cc.

References bundle_, link_, and dtn::BundleDaemon::post().


Member Data Documentation

The link that it was transmitted on.

Definition at line 118 of file CustodyTimer.h.

Referenced by timeout().

Definition at line 119 of file CustodyTimer.h.

Referenced by timeout().


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