MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
DtMessageThrottle Class Reference
+ Collaboration diagram for DtMessageThrottle:

Public Member Functions

 DtMessageThrottle (float transmitDelay, float transmitRate, float autoProvideDelay)
 Constructor. More...
 
virtual ~DtMessageThrottle ()
 Destructor. More...
 
virtual void activateTransmitDelay ()
 Activate a delay timer (based on RID) used by managers to control transmission of internal state Expired delays disable activation for current tick. More...
 
virtual bool delayTransmit () const
 Return true if retransmission of internal state should be delayed. More...
 
virtual bool queueMessage (DtRtiMsg const &msg, MAKRti::DtTransportType transport, MAKRti::DtInetAddr addr)
 Queue message (clone) if transmit delay is active Return true if message was queued. More...
 
virtual bool queueMessage (DtRtiMsg *msg, MAKRti::DtTransportType transport, MAKRti::DtInetAddr addr)
 Queue message if transmit delay is active Message will be deleted when processed later Return true if message was queued. More...
 
virtual void testTransmitDelay (DtConnectionMgr *connMgr)
 Test if retransmit delay time has expired. More...
 
virtual void activateAutoProvideDelay ()
 Activate a delay timer (based on RID) used by managers to control timing of autoprovide callbacks Expired delays disable activation for current tick. More...
 
virtual bool delayAutoProvide () const
 Return true if autoprovide should be delayed. More...
 
virtual void testAutoProvideDelay (DtConnectionMgr *connMgr)
 Test if autoprovide delay time has expired. More...
 
virtual void processQueuedMessages (DtConnectionMgr *connMgr)
 Process queued messages that are being sent at specified rate. More...
 
virtual void flush (DtConnectionMgr *connMgr)
 Flush any remaining messages. More...
 
virtual void clear ()
 Clear out any queued messages without sending them. More...
 

Protected Member Functions

 DtMessageThrottle ()
 disable default constructor More...
 

Protected Attributes

MAKRti::DtClock myClock
 
std::queue< DtDelayedMessage * > myMessageQueue
 
MAKRti::DtTime myTransmitTime
 
MAKRti::DtTime myTickTime
 
MAKRti::DtTime myAutoProvideTime
 
float myTransmitDelayInterval
 
float myAutoProvideDelayInterval
 
float myMessageRate
 
unsigned long myMessagePerTick
 
unsigned long myMessagesSent
 
bool myMeterMessages
 
bool myDelayMessages
 
bool myDelayTransmit
 
bool myDelayProvides
 
bool myDelayAutoProvide
 
bool myTransmitTick
 
bool myAutoProvideTick
 

Constructor & Destructor Documentation

DtMessageThrottle::DtMessageThrottle ( )
protected

disable default constructor

DtMessageThrottle::DtMessageThrottle ( float  transmitDelay,
float  transmitRate,
float  autoProvideDelay 
)

Constructor.

virtual DtMessageThrottle::~DtMessageThrottle ( )
virtual

Destructor.

Member Function Documentation

virtual void DtMessageThrottle::activateAutoProvideDelay ( )
virtual

Activate a delay timer (based on RID) used by managers to control timing of autoprovide callbacks Expired delays disable activation for current tick.

virtual void DtMessageThrottle::activateTransmitDelay ( )
virtual

Activate a delay timer (based on RID) used by managers to control transmission of internal state Expired delays disable activation for current tick.

virtual void DtMessageThrottle::clear ( )
virtual

Clear out any queued messages without sending them.

virtual bool DtMessageThrottle::delayAutoProvide ( ) const
virtual

Return true if autoprovide should be delayed.

virtual bool DtMessageThrottle::delayTransmit ( ) const
virtual

Return true if retransmission of internal state should be delayed.

virtual void DtMessageThrottle::flush ( DtConnectionMgr connMgr)
virtual

Flush any remaining messages.

virtual void DtMessageThrottle::processQueuedMessages ( DtConnectionMgr connMgr)
virtual

Process queued messages that are being sent at specified rate.

virtual bool DtMessageThrottle::queueMessage ( DtRtiMsg const &  msg,
MAKRti::DtTransportType  transport,
MAKRti::DtInetAddr  addr 
)
virtual

Queue message (clone) if transmit delay is active Return true if message was queued.

virtual bool DtMessageThrottle::queueMessage ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
MAKRti::DtInetAddr  addr 
)
virtual

Queue message if transmit delay is active Message will be deleted when processed later Return true if message was queued.

virtual void DtMessageThrottle::testAutoProvideDelay ( DtConnectionMgr connMgr)
virtual

Test if autoprovide delay time has expired.

When the delay has expired, the current tick will allow autoprovide.

virtual void DtMessageThrottle::testTransmitDelay ( DtConnectionMgr connMgr)
virtual

Test if retransmit delay time has expired.

If so, deactivate delay and activate message metering. When the delay has expired, the current tick will allow retransmission of internal state (see method - delayTransmit). The transmission of these messages can be metered at a give rate. If so, then any messages over the specified rate are queued to be transmitted in subsequent ticks.

Member Data Documentation

float DtMessageThrottle::myAutoProvideDelayInterval
protected
bool DtMessageThrottle::myAutoProvideTick
protected
MAKRti::DtTime DtMessageThrottle::myAutoProvideTime
protected
MAKRti::DtClock DtMessageThrottle::myClock
protected
bool DtMessageThrottle::myDelayAutoProvide
protected
bool DtMessageThrottle::myDelayMessages
protected
bool DtMessageThrottle::myDelayProvides
protected
bool DtMessageThrottle::myDelayTransmit
protected
unsigned long DtMessageThrottle::myMessagePerTick
protected
std::queue<DtDelayedMessage*> DtMessageThrottle::myMessageQueue
protected
float DtMessageThrottle::myMessageRate
protected
unsigned long DtMessageThrottle::myMessagesSent
protected
bool DtMessageThrottle::myMeterMessages
protected
MAKRti::DtTime DtMessageThrottle::myTickTime
protected
float DtMessageThrottle::myTransmitDelayInterval
protected
bool DtMessageThrottle::myTransmitTick
protected
MAKRti::DtTime DtMessageThrottle::myTransmitTime
protected

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

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)