VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Attributes | Static Protected Attributes
DtSplitContentTimer Class Reference

This class helps DtVrfMessageInterface handle big messages. DtSplitContentTimer is a simple class that helps track when messages should be purged. Classes like DtVrfMessageInterface and DtSignalMessageTransporter gather multiple chunks of message content. DtSplitContentTimer is used to track when those chunks first arrive. If a full sequence of content fails to arrive by expiration time, DtSplitContentTimer will signal the expiration of those content chunks.

Public Types

typedef std::map
< DtSplitMessageKey, DtTime
DtTimeoutMap
 

Public Member Functions

 DtSplitContentTimer ()
 
virtual ~DtSplitContentTimer ()
 
virtual void addTimeoutEntry (const DtSplitMessageKey &key, DtTime startTime)
 
virtual void clear ()
 
virtual void evaluateTimeouts (DtTime timeNow, DtSplitContentExpiredFcn pFcn, void *pUsr)
 
virtual bool findEntry (const DtSplitMessageKey &key, DtTime &retTime)
 
virtual void removeTimeoutEntry (const DtSplitMessageKey &key)
 
virtual DtTime lastTimeoutCheckTime () const
 
virtual void setLastTimeoutCheckTime (DtTime nTime)
 
virtual DtTime timeoutCheckInterval () const
 
virtual void setTimeoutCheckInterval (DtTime nSecs)
 
virtual DtTime timeoutDuration () const
 
virtual void setTimeoutDuration (DtTime nSecs)
 

Protected Member Functions

 DtSplitContentTimer (const DtSplitContentTimer &orig)
 
const DtSplitContentTimeroperator= (const DtSplitContentTimer &orig)
 

Protected Attributes

DtTime myLastTimeoutCheckTime
 
DtTime myTimeoutCheckInterval
 
DtTime myTimeoutDuration
 
DtTimeoutMap myTimeoutMap
 

Static Protected Attributes

static const DtTime theDefaultTimeoutCheckInterval
 
static const DtTime theDefaultTimeoutDuration
 

Member Typedef Documentation

A collection of message ID and timeout time pairs.

Constructor & Destructor Documentation

DtSplitContentTimer::DtSplitContentTimer ( )

Contructor.

virtual DtSplitContentTimer::~DtSplitContentTimer ( )
virtual

destructor

DtSplitContentTimer::DtSplitContentTimer ( const DtSplitContentTimer orig)
protected

these aren't used

Member Function Documentation

virtual void DtSplitContentTimer::addTimeoutEntry ( const DtSplitMessageKey key,
DtTime  startTime 
)
virtual

Start a timer for the given key. Starts a timer for the given key. Expiration time is computed as startTime + myTimeoutDuration.

virtual void DtSplitContentTimer::clear ( )
virtual

remove all entries.

virtual void DtSplitContentTimer::evaluateTimeouts ( DtTime  timeNow,
DtSplitContentExpiredFcn  pFcn,
void *  pUsr 
)
virtual

Walk through the DtTimeoutMap, invoke DtSplitContentExpiredFcn for things needing to be purged. Caller should pass a valid DtSplitContentExpiredFcn to pFcn, and (this) to pUsr. It's up to the caller to invoke removeTimeoutEntry(). Note, if timeNow is not >= myLastTimeoutCheckTime+myTimeoutCheckInterval, the call will be ignored.

virtual bool DtSplitContentTimer::findEntry ( const DtSplitMessageKey key,
DtTime retTime 
)
virtual

returns true if entry found, with expiration time returned in retTime.

DtTime DtSplitContentTimer::lastTimeoutCheckTime ( ) const
inlinevirtual

returns the last time a full check was made.

References myLastTimeoutCheckTime.

void DtSplitContentTimer::setLastTimeoutCheckTime ( DtTime  nTime)
inlinevirtual

returns the last time a full check was made.

References myLastTimeoutCheckTime.

DtTime DtSplitContentTimer::timeoutCheckInterval ( ) const
inlinevirtual

time, in seconds, that the collection should be revisited for evaluation.

References myTimeoutCheckInterval.

void DtSplitContentTimer::setTimeoutCheckInterval ( DtTime  nSecs)
inlinevirtual

time, in seconds, that the collection should be revisited for evaluation.

References myTimeoutCheckInterval.

DtTime DtSplitContentTimer::timeoutDuration ( ) const
inlinevirtual

time, in seconds, before an entry is considered expired.

References myTimeoutDuration.

void DtSplitContentTimer::setTimeoutDuration ( DtTime  nSecs)
inlinevirtual

time, in seconds, before an entry is considered expired.

References myTimeoutDuration.

virtual void DtSplitContentTimer::removeTimeoutEntry ( const DtSplitMessageKey key)
virtual

searches for an entry matching key, removes it.

const DtSplitContentTimer& DtSplitContentTimer::operator= ( const DtSplitContentTimer orig)
protected

these aren't used

Member Data Documentation

DtTime DtSplitContentTimer::myLastTimeoutCheckTime
protected
DtTime DtSplitContentTimer::myTimeoutCheckInterval
protected
DtTime DtSplitContentTimer::myTimeoutDuration
protected
DtTimeoutMap DtSplitContentTimer::myTimeoutMap
protected
const DtTime DtSplitContentTimer::theDefaultTimeoutCheckInterval
staticprotected
const DtTime DtSplitContentTimer::theDefaultTimeoutDuration
staticprotected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)