![]() |
MAK RTIspy API Documentation for HLA 1.3
|
Collaboration diagram for DtMessageThrottle:Public Member Functions | |
| DtMessageThrottle (float transmitDelay, float transmitRate, float autoProvideDelay) | |
| Constructor. | |
| virtual | ~DtMessageThrottle () |
| Destructor. | |
| 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. | |
| virtual bool | delayTransmit () const |
| Return true if retransmission of internal state should be delayed. | |
| 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. | |
| 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. | |
| virtual void | testTransmitDelay (DtConnectionMgr *connMgr) |
| Test if retransmit delay time has expired. | |
| 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. | |
| virtual bool | delayAutoProvide () const |
| Return true if autoprovide should be delayed. | |
| virtual void | testAutoProvideDelay (DtConnectionMgr *connMgr) |
| Test if autoprovide delay time has expired. | |
| virtual void | processQueuedMessages (DtConnectionMgr *connMgr) |
| Process queued messages that are being sent at specified rate. | |
| virtual void | flush (DtConnectionMgr *connMgr) |
| Flush any remaining messages. | |
| virtual void | clear () |
| Clear out any queued messages without sending them. | |
Protected Member Functions | |
| DtMessageThrottle () | |
| disable default constructor | |
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 |
|
protected |
disable default constructor
| DtMessageThrottle::DtMessageThrottle | ( | float | transmitDelay, |
| float | transmitRate, | ||
| float | autoProvideDelay | ||
| ) |
Constructor.
References myAutoProvideDelayInterval, myDelayMessages, myDelayProvides, myMessageRate, myMeterMessages, and myTransmitDelayInterval.
|
virtual |
Destructor.
References clear().
|
virtual |
Activate a delay timer (based on RID) used by managers to control timing of autoprovide callbacks Expired delays disable activation for current tick.
References myAutoProvideDelayInterval, myAutoProvideTick, myAutoProvideTime, myClock, myDelayAutoProvide, and myDelayProvides.
Referenced by DtConnectionMgr::activateAutoProvideDelay().
|
virtual |
Activate a delay timer (based on RID) used by managers to control transmission of internal state Expired delays disable activation for current tick.
References myClock, myDelayMessages, myDelayTransmit, myTransmitDelayInterval, myTransmitTick, and myTransmitTime.
Referenced by DtConnectionMgr::activateTransmitDelay().
|
virtual |
Clear out any queued messages without sending them.
References myMessageQueue, myMessagesSent, myMeterMessages, and NULL.
Referenced by DtSmConnectionMgr::connectFederation(), DtConnectionMgr::connectFederation(), DtSmConnectionMgr::disconnectFederation(), DtConnectionMgr::disconnectFederation(), DtConnectionMgr::~DtConnectionMgr(), and ~DtMessageThrottle().
|
virtual |
Return true if autoprovide should be delayed.
References myDelayAutoProvide.
Referenced by DtConnectionMgr::delayAutoProvide().
|
virtual |
Return true if retransmission of internal state should be delayed.
References myDelayTransmit.
Referenced by DtConnectionMgr::delayTransmit().
|
virtual |
Flush any remaining messages.
References DtDelayedMessage::addr, DtDelayedMessage::msg, myMessageQueue, myMessagesSent, myMeterMessages, NULL, DtConnectionMgr::send(), and DtDelayedMessage::transport.
Referenced by DtConnectionMgr::flushQueuedMessages().
|
virtual |
Process queued messages that are being sent at specified rate.
References DtDelayedMessage::addr, DtDelayedMessage::msg, myMessagePerTick, myMessageQueue, myMessagesSent, myMeterMessages, DtConnectionMgr::send(), and DtDelayedMessage::transport.
Referenced by DtConnectionMgr::processQueuedMessages(), and testTransmitDelay().
|
virtual |
Queue message (clone) if transmit delay is active Return true if message was queued.
References DtRtiMsg::clone(), myMessagePerTick, myMessageQueue, myMessagesSent, myMeterMessages, and myTransmitTick.
Referenced by DtConnectionMgr::sendStampedUtilityFunction().
|
virtual |
Queue message if transmit delay is active Message will be deleted when processed later Return true if message was queued.
References myMessagePerTick, myMessageQueue, myMessagesSent, myMeterMessages, and myTransmitTick.
|
virtual |
Test if autoprovide delay time has expired.
When the delay has expired, the current tick will allow autoprovide.
References myAutoProvideTick, myAutoProvideTime, myClock, myDelayAutoProvide, and myDelayProvides.
Referenced by DtConnectionMgr::testAutoProvideDelay().
|
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.
References myClock, myDelayMessages, myDelayTransmit, myMessagePerTick, myMessageRate, myMessagesSent, myTickTime, myTransmitTick, myTransmitTime, and processQueuedMessages().
Referenced by DtConnectionMgr::testTransmitDelay().
|
protected |
Referenced by activateAutoProvideDelay(), and DtMessageThrottle().
|
protected |
Referenced by activateAutoProvideDelay(), and testAutoProvideDelay().
|
protected |
Referenced by activateAutoProvideDelay(), and testAutoProvideDelay().
|
protected |
Referenced by activateAutoProvideDelay(), activateTransmitDelay(), testAutoProvideDelay(), and testTransmitDelay().
|
protected |
Referenced by activateAutoProvideDelay(), delayAutoProvide(), and testAutoProvideDelay().
|
protected |
Referenced by activateTransmitDelay(), DtMessageThrottle(), and testTransmitDelay().
|
protected |
Referenced by activateAutoProvideDelay(), DtMessageThrottle(), and testAutoProvideDelay().
|
protected |
Referenced by activateTransmitDelay(), delayTransmit(), and testTransmitDelay().
|
protected |
Referenced by processQueuedMessages(), queueMessage(), and testTransmitDelay().
|
protected |
Referenced by clear(), flush(), processQueuedMessages(), and queueMessage().
|
protected |
Referenced by DtMessageThrottle(), and testTransmitDelay().
|
protected |
Referenced by clear(), flush(), processQueuedMessages(), queueMessage(), and testTransmitDelay().
|
protected |
Referenced by clear(), DtMessageThrottle(), flush(), processQueuedMessages(), and queueMessage().
|
protected |
Referenced by testTransmitDelay().
|
protected |
Referenced by activateTransmitDelay(), and DtMessageThrottle().
|
protected |
Referenced by activateTransmitDelay(), queueMessage(), and testTransmitDelay().
|
protected |
Referenced by activateTransmitDelay(), and testTransmitDelay().