MAK RTIspy API Documentation for HLA Evolved
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtRtiMsg Class Reference

DtRtiMsg is the base class for messages between RTI components. More...

Inherits DtBaseMsg.

Inherited by DtAbortRestoreMsg, DtAliveMsg, DtChangeLatencyTestModeMsg, DtConnectConfirmMsg, DtConnectMsg, DtCreateMsg, DtCreateResponseMsg, DtDeleteMsg, DtDesignatedFederateMsg, DtDestroyMsg, DtDestroyResponseMsg, DtDiscObjMsg, DtEnableDisableNetworkTestingMsg, DtFedAmbCallbackMsg, DtFomModuleDistributionMsg, DtFomModuleRequestMsg, DtForwarderConnectionLostMsg, DtForwarderCounterMsg, DtForwarderNodeInfoMsg, DtForwarderPingMsg, DtForwarderPortMsg, DtForwarderResignMsg, DtInteractionMsg, DtJoinConfirmMsg, DtJoinLightWeightMsg, DtJoinMsg, DtJoinResponseMsg, DtLatencyReportMsg, DtListFederationsMsg, DtLocDelMsg, DtMacAddrMsg, DtMcastConfigureMsg, DtMulticastDiscoveryMsg, DtMultiNameReservedMsg, DtNetworkMapReqMsg, DtNetworkMapRspMsg, DtNullMsg, DtOwnershipMsg, DtPartnerFederateMsg, DtPubInterMsg, DtPubObjMsg, DtQueryInterTransportMsg, DtQueryRestoreStatusMsg, DtQuerySaveStatusMsg, DtQueryTransportMsg, DtQueueFullMsg, DtReconnectMsg, DtRegObjMsg, DtReleaseMultiNameMsg, DtReportFederationsMsg, DtReqDiscObjMsg, DtRequestMsg, DtReserveMultiNameMsg, DtResignDirectiveMsg, DtResignMsg, DtRestoreBegunMsg, DtRestoreInitiateMsg, DtRestoreReplyMsg, DtRidTestRequestMsg, DtRtiExecConnectMsg, DtRtiExecHandshakeMsg, DtRtiExecShutdownForwarderMsg, DtSaveMsg, DtSaveResponseMsg, DtSmEnrollmentMsg, DtSubInterMsg, DtSubObjMsg, DtSyncPointMsg, DtSyncPointQueryMsg, DtTestMgrStatusMsg, DtTransferRidParamsMsg, DtUnpubInterMsg, DtUnpubObjMsg, DtUnsubInterMsg, DtUnsubObjMsg, DtUpdateMsg, DtWwwControlMsg, DtWwwControlRspMsg, DtWwwFederateStateReqMsg, DtWwwFederateStateRspMsg, DtWwwStateReqMsg, and DtWwwStateRspMsg.

+ Collaboration diagram for DtRtiMsg:

List of all members.

Public Member Functions

virtual ~DtRtiMsg ()
 Destructor.
virtual DtRtiMsgclone (bool copy=true) const =0
 Return a copy/empty object of the same type as this.
virtual DtRtiMsgcloneWithTransport (bool copy=true) const
 Return a copy/empty object of the same type as this using clone and set the transport type from the host message.
virtual DtNetMsgHeadernetHeader () const
 Get header of network representation.
virtual int version () const
 Return the message version.
virtual bool isValidVersion () const
 Returns bool: message version is valid?
virtual void setFedEx (const MAKRti::DtString &name)
 All RTI messages contain information to identify which federation execution the message applies to.
virtual void setFedEx (int handle)
 Set federation execution identifier as a handle.
virtual bool isForExec (const MAKRti::DtString &execName, int execHandle) const
 Returns true if the current message belongs to the indicated federation execution, false otherwise.
virtual DtRtiMsgKind msgKind () const
 Get the message kind.
virtual const char * kindString () const
 Returns the message kind string name.
virtual bool isConstrained () const
 Return boolean: message type can be time constrained?
virtual bool isAllowedDuringSave () const
 Return boolean: message type can be processed during save?
virtual void setTime (const RTI::FedTime &time)
 Set/Get time Used in timestamped messages.
virtual RTI::FedTime const * time (DtLogicalTimeFactory *fedTimeFactory) const
virtual bool hasTime () const
 Returns true if time field is valid.
virtual void setSerialNumber (unsigned long serialNumberValue)
 Set/Get event retraction serial number Used in timestamped messages.
virtual unsigned long serialNumber () const
virtual void setTransportType (DtTransportHandle type)
 Set/Get transport type.
virtual DtTransportHandle transportType () const
virtual DtOrderHandle orderType () const
 This base implementation always returns recieve order.
virtual bool isMetadataPresent () const
 Test if metadata has been added to a DtRtiMsg object.
virtual bool addMetadata (caddr_t *mtdAddr, unsigned int size, unsigned int *alignPad, unsigned int *headerPad=NULL)
 Allocate space for next block of metadata.
virtual void removeMetadata (unsigned int size)
 Update the size of the message when metadata has been removed.
bool isInteractionMsgType () const
 Utility functions, check the message type against known interaciton/update message types.
bool isUpdateMsgType () const
virtual void print (DtLogicalTimeFactory *logicalTimeFactory) const
 Printing functions.
virtual void printHeader (DtLogicalTimeFactory *logicalTimeFactory) const
virtual void printData (DtLogicalTimeFactory *logicalTimeFactory) const
virtual void printTime (const char *label, RTI::FedTime const *timeValue) const
 Print the given time.
virtual void printInterval (const char *label, RTI::FedTime const *intervalValue) const
 Print the interval.
virtual int status () const
 Returns MSG_STATUS_OK if OK, a reason enumeration otherwise.
virtual const MAKRti::DtString fedExName () const
 These two functions should be avoided in favor of isForExec().
virtual int fedExHandle () const
 Get the federation execution identifier as a handle Returns 0 if the identifier is being represented as a name.
virtual void setFederateHandle (DtFederateHandle handle)
 Set/Get federate handle.
virtual DtFederateHandle federateHandle () const
 Set/Get federate handle.
virtual void setSequenceNumber (unsigned long value)
 Set/Get message sequence number.
virtual unsigned long sequenceNumber () const
 Set/Get message sequence number.
virtual void setServiceCallNumber (unsigned long value)
 Set/Get service call number.
virtual unsigned long serviceCallNumber () const
 Set/Get service call number.
virtual void setTriggerMessageNumber (unsigned long value)
 Set/Get trigger message sequence number (i.e., the message being processed that triggered this message being sent).
virtual unsigned long triggerMessageNumber () const
 Set/Get trigger message sequence number (i.e., the message being processed that triggered this message being sent).

Static Public Member Functions

static const char * kindToString (DtRtiMsgKind kind)
 Returns the name of the message, by kind enumeration.
static const char * kindString (const void *buffer)
 Extracts the message kind from the given buffer and returns its string name.
static void setDefaultRegionSet (unsigned long defaultRegionSet)
 Set the default region set handle.
static void setUse32BitsForValueSize (bool use32BitsForValueSizeEnabled)
 Set/Get flag to enable use of 32 bit size field for attribute/parameter values.
static bool use32BitsForValueSize ()
static void setSmartForwardingEnabled (bool enabled)
 Set/Get is SmartForwarding enabled?
static bool smartForwardingEnabled ()

Static Public Attributes

static unsigned long theDefaultRegionSetHandle = 0
static const char * theDefaultTag = NULL

Protected Member Functions

 DtRtiMsg ()
 Constructor.
virtual DtRtiMsgKind internalDtRtiMsgKind ()=0
virtual void sizeChanged (int size)
 Called whenever size is changed using changeSize, or insert/deleteBytes.
void initDtRtiMsg (int size, DtRtiMsgKind msgKindVal, DtBufferPtr buffer)
 Called by ctor, so not virtual.
void initDtRtiMsg (const void *initial, int size, DtBufferPtr buffer)
void initDtRtiMsg (const DtNetMsgHeader *header, DtBufferPtr buffer)
virtual void adjustBytes (int offset, int numBytes)
 Adjust numBytes bytes at the indicated offset in the net rep.
virtual void adjustBytes (void *address, int numBytes)
 Adjust the numBytes starting at the indicated addres.

Protected Attributes

DtTransportHandle myTransportType
DtOrderHandle myOrderType
RTI::FedTimemyFedTime
bool myTimeIsValid
bool myConstrained
bool myAllowedDuringSave
unsigned long mySerialNumber
unsigned long myServiceCallNumber
unsigned long myTriggerMessage

Static Protected Attributes

static bool theUse32BitsForValueSize = false
static bool theSmartForwardingEnabled = false

Detailed Description

DtRtiMsg is the base class for messages between RTI components.


Constructor & Destructor Documentation

DtRtiMsg::~DtRtiMsg ( ) [virtual]

Destructor.

References myFedTime.

DtRtiMsg::DtRtiMsg ( ) [protected]

Constructor.

References DtBindMessage().


Member Function Documentation

bool DtRtiMsg::addMetadata ( caddr_t *  mtdAddr,
unsigned int  size,
unsigned int *  alignPad,
unsigned int *  headerPad = NULL 
) [virtual]

Allocate space for next block of metadata.

Start address is returned in mtdAddr. Alignment indicated in alignPad and amount of padding needed to align metadata returned in the same variable. If an extra byte is needed to align the header after the payload the headerPad argument will be set if the pointer is not NULL. Return value indicates whether this is the first metadata added to the message.

References DtNetMsgHeader::metadataInMessage(), DtNetMsgHeader::metadataSize, netHeader(), and DtNetMsgHeader::setMetadataInMessage().

Referenced by DtRtiMtdNull::set(), DtRtiMtdMcastAddr::set(), DtRtiMtdTimeStamp::set(), DtRtiMtdTestId::set(), DtRtiMtdForwarderGroupId::set(), DtRtiMtdDestinationList::set(), DtRtiMtdFederateHostInformation::set(), and DtRtiMetadata::setLengthAsValue().

void DtRtiMsg::adjustBytes ( int  offset,
int  numBytes 
) [inline, protected, virtual]

Adjust numBytes bytes at the indicated offset in the net rep.

Uses insertBytes or deleteBytes based on sign of numBytes

References rti1516e::insertBytes().

Referenced by DtLatencyReportMsg::resize(), DtUpdateMsg::setObjName(), DtUpdateMsg::setSizeOfNetAttrs(), DtInteractionMsg::setSizeOfNetParams(), DtDeleteMsg::setTag(), DtInteractionMsg::setTag(), DtUpdateMsg::setTag(), and DtRequestMsg::setTag().

void DtRtiMsg::adjustBytes ( void *  address,
int  numBytes 
) [inline, protected, virtual]

Adjust the numBytes starting at the indicated addres.

Assumes that address falls within the net rep. Uses insertBytes or deleteBytes based on sign of numBytes

References rti1516e::insertBytes().

virtual DtRtiMsg* DtRtiMsg::clone ( bool  copy = true) const [pure virtual]

Return a copy/empty object of the same type as this.

NOTE: The transport type is not carried in the network representation used to make clones; therefore, it must be set after the clone is made

Implemented in DtForwarderNodeInfoMsg, DtOwnershipMsg, DtJoinResponseMsg, DtSyncPointMsg, DtTestMgrStatusMsg, DtRequestMsg, DtFedAmbCallbackMsg, DtJoinMsg, DtMcastConfigureMsg, DtMulticastDiscoveryMsg, DtResignMsg, DtLatencyReportMsg, DtQueryTransportMsg, DtSmEnrollmentMsg, DtChangeLatencyTestModeMsg, DtRestoreInitiateMsg, DtSaveTimeMsg, DtRestoreReplyMsg, DtSaveFinishedMsg, DtSyncPointQueryMsg, DtWwwControlMsg, DtWwwControlRspMsg, DtCreateResponseMsg, DtJoinConfirmMsg, DtRestoreEndMsg, DtForwarderCounterMsg, DtPartnerFederateMsg, DtDeleteRoMsg, DtFomModuleRequestMsg, DtSaveResponseMsg, DtUpdateRoMsg, DtCreateMsg, DtRtiExecHandshakeMsg, DtForwarderPortMsg, DtReconnectMsg, DtDestroyMsg, DtForwarderPingMsg, DtForwarderResignMsg, DtJoinLightWeightMsg, DtRestoreBegunMsg, DtDestroyResponseMsg, DtInteractionRoMsg, DtLocDelMsg, DtMacAddrMsg, DtRegObjMsg, DtWwwFederateStateRspMsg, DtMultiNameReservedMsg, DtQueryInterTransportMsg, DtReportFederationsMsg, DtWwwStateRspMsg, DtDiscObjMsg, DtRtiExecConnectMsg, DtNetworkMapReqMsg, DtNetworkMapRspMsg, DtResignDirectiveMsg, DtRidTestRequestMsg, DtSubObjMsg, DtTransferRidParamsMsg, DtWwwFederateStateReqMsg, DtConnectMsg, DtEnableDisableNetworkTestingMsg, DtPubObjMsg, DtReleaseMultiNameMsg, DtReserveMultiNameMsg, DtUnsubObjMsg, DtWwwStateReqMsg, DtConnectConfirmMsg, DtRestoreCompleteMsg, DtRestoreRequestMsg, DtRestoreMsg, DtSaveCompleteMsg, DtSaveInitiateConstrainedMsg, DtSaveInitiateMsg, DtSaveRequestMsg, DtUnpubObjMsg, DtDeleteSocketMsg, DtDesignatedFederateMsg, DtForwarderConnectionLostMsg, DtReqDiscObjMsg, DtUnpubInterMsg, DtUnsubInterMsg, DtListFederationsMsg, DtPubInterMsg, DtSubInterMsg, DtDisconnectMsg, DtRtiExecDisconnectMsg, DtFomModuleDistributionMsg, DtQueueFullMsg, DtAliveMsg, DtRtiExecShutdownForwarderMsg, DtQueryRestoreStatusMsg, DtQuerySaveStatusMsg, DtAbortRestoreMsg, DtSaveBegunMsg, DtAbortSaveMsg, DtInitiatedSaveMsg, and DtSaveTimeAdvanceMsg.

Referenced by cloneWithTransport(), DtMessageThrottle::queueMessage(), DtAsyncConnectionMgr::receivePacket(), and DtAsyncConnectionMgr::send().

DtRtiMsg * DtRtiMsg::cloneWithTransport ( bool  copy = true) const [virtual]

Return a copy/empty object of the same type as this using clone and set the transport type from the host message.

References clone(), setTransportType(), and transportType().

Referenced by DtSmConnectionMgr::getMessage(), DtAsyncConnectionMgr::getMessage(), DtConnectionMgr::getMessage(), DtConnectionMgr::handleMsg(), DtRtiMsgQueue::queueMsg(), and DtSmRtiConnection::send().

DtFederateHandle DtRtiMsg::federateHandle ( ) const [inline, virtual]

Set/Get federate handle.

Reimplemented in DtReconnectMsg.

References DtNetMsgHeader::fedHandle, and netHeader().

Referenced by DtInteractionMgr::acceptInteraction(), DtPartnerMgr::acceptMessage(), DtRtiMsgQueue::deleteMsgs(), DtSmartForwardingProcessor::federateJoined(), DtFileDistributor::fileReceived(), DtRtiShmQNetMgr::filterReliableLoopbacks(), DtConnectionMgr::handleMsg(), DtSmEnrollmentMsg::printData(), printHeader(), DtFedExec::processAbortRestore(), DtFedExec::processAbortSave(), DtFedExec::processAlive(), DtObjectMgr::processDelete(), DtObjectMgr::processDiscover(), DtFedExec::processInitiatedSave(), DtInteractionMgr::processInteraction(), DtFedExec::processJoinConfirm(), DtRtiexecObserverForAssistant::processLatencyTestStatusMsg(), DtRtiShmQNetMgr::processMsg(), DtConnectionMgr::processMsg(), DtPartnerMgr::processOtherMessage(), DtFedExec::processOwnership(), DtObjectMgr::processOwnership(), DtPartnerMgr::processPartnerAccept(), DtPartnerMgr::processPartnerConfirm(), DtPartnerMgr::processPartnerMessage(), DtPartnerMgr::processPartnerReject(), DtConnectionMgr::processPendingMsg(), DtInteractionMgr::processPub(), DtObjectMgr::processPub(), DtFedExec::processQueryRestoreStatus(), DtFedExec::processQuerySaveStatus(), DtRtiExec::processQueueFull(), DtObjectMgr::processRegister(), DtFedExec::processReleaseMultiName(), DtObjectMgr::processRequest(), DtObjectMgr::processRequestDiscover(), DtFedExec::processReserveMultiName(), DtTestManager::processResign(), DtInteractionMgr::processResign(), DtFedExec::processResign(), DtFederateMgr::processResign(), DtObjectMgr::processResign(), DtPartnerMgr::processResignMessage(), DtFedExec::processRestoreBegun(), DtFedExec::processRestoreComplete(), DtFedExec::processRestoreRequest(), DtFedExec::processSaveBegun(), DtFedExec::processSaveComplete(), DtFedExec::processSaveRequest(), DtRtiexecObserverForWebService::processStateRspMsg(), DtTestManager::processSub(), DtInteractionMgr::processSub(), DtObjectMgr::processSub(), DtFedExec::processSyncPoint(), DtFedExec::processSyncPointQuery(), DtInteractionMgr::processUnpub(), DtObjectMgr::processUnpub(), DtTestManager::processUnsub(), DtInteractionMgr::processUnsub(), DtObjectMgr::processUnsub(), DtObjectMgr::processUpdate(), DtRtiMsgQueue::removeMsg(), and DtRtiExec::ridRequestCb().

int DtRtiMsg::fedExHandle ( ) const [virtual]
const MAKRti::DtString DtRtiMsg::fedExName ( ) const [virtual]

These two functions should be avoided in favor of isForExec().

They provide detail about how a federation execution identifier has been encoded in the message. Get the federation execution identifier as a string Returns an empty string if the identifier is being represented as a handle.

References DtNetExecNameSize, and netHeader().

Referenced by DtSmartForwardingProcessor::federateJoined(), printHeader(), DtFedExec::processJoinMsg(), and DtConnectionMgr::sendStampedUtilityFunction().

bool DtRtiMsg::hasTime ( ) const [virtual]

Returns true if time field is valid.

References myTimeIsValid.

Referenced by DtInteractionMgr::processInteraction(), and DtObjectMgr::processUpdate().

void DtRtiMsg::initDtRtiMsg ( int  size,
DtRtiMsgKind  msgKindVal,
DtBufferPtr  buffer 
) [protected]

Called by ctor, so not virtual.

References DtInvalidMsgKind, DtRtiMessageVersion, DtRtiMetadata::metadataMaxSize(), DtNetMsgHeader::metadataSize, DtNetMsgHeader::msgKind, netHeader(), setFederateHandle(), setFedEx(), DtNetMsgHeader::version, and DtNetMsgHeader::versionCheck.

Referenced by DtAbortRestoreMsg::DtAbortRestoreMsg(), DtAbortSaveMsg::DtAbortSaveMsg(), DtAliveMsg::DtAliveMsg(), DtChangeLatencyTestModeMsg::DtChangeLatencyTestModeMsg(), DtConnectConfirmMsg::DtConnectConfirmMsg(), DtConnectMsg::DtConnectMsg(), DtCreateMsg::DtCreateMsg(), DtCreateResponseMsg::DtCreateResponseMsg(), DtDeleteRoMsg::DtDeleteRoMsg(), DtDesignatedFederateMsg::DtDesignatedFederateMsg(), DtDestroyMsg::DtDestroyMsg(), DtDestroyResponseMsg::DtDestroyResponseMsg(), DtDiscObjMsg::DtDiscObjMsg(), DtEnableDisableNetworkTestingMsg::DtEnableDisableNetworkTestingMsg(), DtFedAmbCallbackMsg::DtFedAmbCallbackMsg(), DtFomModuleDistributionMsg::DtFomModuleDistributionMsg(), DtFomModuleRequestMsg::DtFomModuleRequestMsg(), DtForwarderConnectionLostMsg::DtForwarderConnectionLostMsg(), DtForwarderCounterMsg::DtForwarderCounterMsg(), DtForwarderNodeInfoMsg::DtForwarderNodeInfoMsg(), DtForwarderPingMsg::DtForwarderPingMsg(), DtForwarderPortMsg::DtForwarderPortMsg(), DtForwarderResignMsg::DtForwarderResignMsg(), DtInteractionRoMsg::DtInteractionRoMsg(), DtJoinConfirmMsg::DtJoinConfirmMsg(), DtJoinLightWeightMsg::DtJoinLightWeightMsg(), DtJoinMsg::DtJoinMsg(), DtJoinResponseMsg::DtJoinResponseMsg(), DtLatencyReportMsg::DtLatencyReportMsg(), DtListFederationsMsg::DtListFederationsMsg(), DtLocDelMsg::DtLocDelMsg(), DtMacAddrMsg::DtMacAddrMsg(), DtMcastConfigureMsg::DtMcastConfigureMsg(), DtMulticastDiscoveryMsg::DtMulticastDiscoveryMsg(), DtMultiNameReservedMsg::DtMultiNameReservedMsg(), DtNetworkMapReqMsg::DtNetworkMapReqMsg(), DtNetworkMapRspMsg::DtNetworkMapRspMsg(), DtNullMsg::DtNullMsg(), DtOwnershipMsg::DtOwnershipMsg(), DtPartnerFederateMsg::DtPartnerFederateMsg(), DtPubInterMsg::DtPubInterMsg(), DtPubObjMsg::DtPubObjMsg(), DtQueryInterTransportMsg::DtQueryInterTransportMsg(), DtQueryRestoreStatusMsg::DtQueryRestoreStatusMsg(), DtQuerySaveStatusMsg::DtQuerySaveStatusMsg(), DtQueryTransportMsg::DtQueryTransportMsg(), DtQueueFullMsg::DtQueueFullMsg(), DtReconnectMsg::DtReconnectMsg(), DtRegObjMsg::DtRegObjMsg(), DtReleaseMultiNameMsg::DtReleaseMultiNameMsg(), DtReportFederationsMsg::DtReportFederationsMsg(), DtReqDiscObjMsg::DtReqDiscObjMsg(), DtRequestMsg::DtRequestMsg(), DtReserveMultiNameMsg::DtReserveMultiNameMsg(), DtResignDirectiveMsg::DtResignDirectiveMsg(), DtResignMsg::DtResignMsg(), DtRestoreBegunMsg::DtRestoreBegunMsg(), DtRestoreEndMsg::DtRestoreEndMsg(), DtRestoreInitiateMsg::DtRestoreInitiateMsg(), DtRestoreMsg::DtRestoreMsg(), DtRestoreReplyMsg::DtRestoreReplyMsg(), DtRestoreRequestMsg::DtRestoreRequestMsg(), DtRidTestRequestMsg::DtRidTestRequestMsg(), DtRtiExecConnectMsg::DtRtiExecConnectMsg(), DtRtiExecHandshakeMsg::DtRtiExecHandshakeMsg(), DtRtiExecShutdownForwarderMsg::DtRtiExecShutdownForwarderMsg(), DtSaveBegunMsg::DtSaveBegunMsg(), DtSaveCompleteMsg::DtSaveCompleteMsg(), DtSaveFinishedMsg::DtSaveFinishedMsg(), DtSaveInitiateConstrainedMsg::DtSaveInitiateConstrainedMsg(), DtSaveInitiateMsg::DtSaveInitiateMsg(), DtSaveRequestMsg::DtSaveRequestMsg(), DtSaveResponseMsg::DtSaveResponseMsg(), DtSaveTimeMsg::DtSaveTimeMsg(), DtSmEnrollmentMsg::DtSmEnrollmentMsg(), DtSubInterMsg::DtSubInterMsg(), DtSubObjMsg::DtSubObjMsg(), DtSyncPointMsg::DtSyncPointMsg(), DtSyncPointQueryMsg::DtSyncPointQueryMsg(), DtTestMgrStatusMsg::DtTestMgrStatusMsg(), DtTransferRidParamsMsg::DtTransferRidParamsMsg(), DtUnpubInterMsg::DtUnpubInterMsg(), DtUnpubObjMsg::DtUnpubObjMsg(), DtUnsubInterMsg::DtUnsubInterMsg(), DtUnsubObjMsg::DtUnsubObjMsg(), DtUpdateRoMsg::DtUpdateRoMsg(), DtWwwControlMsg::DtWwwControlMsg(), DtWwwControlRspMsg::DtWwwControlRspMsg(), DtWwwFederateStateReqMsg::DtWwwFederateStateReqMsg(), DtWwwFederateStateRspMsg::DtWwwFederateStateRspMsg(), DtWwwStateReqMsg::DtWwwStateReqMsg(), and DtWwwStateRspMsg::DtWwwStateRspMsg().

void DtRtiMsg::initDtRtiMsg ( const void *  initial,
int  size,
DtBufferPtr  buffer 
) [protected]
void DtRtiMsg::initDtRtiMsg ( const DtNetMsgHeader header,
DtBufferPtr  buffer 
) [protected]
virtual DtRtiMsgKind DtRtiMsg::internalDtRtiMsgKind ( ) [protected, pure virtual]

Implemented in DtJoinResponseMsg, DtSyncPointMsg, DtOwnershipMsg, DtJoinMsg, DtForwarderNodeInfoMsg, DtRequestMsg, DtCreateMsg, DtQueryTransportMsg, DtConnectConfirmMsg, DtResignMsg, DtChangeLatencyTestModeMsg, DtFomModuleDistributionMsg, DtJoinLightWeightMsg, DtTestMgrStatusMsg, DtMulticastDiscoveryMsg, DtRtiExecHandshakeMsg, DtLatencyReportMsg, DtMcastConfigureMsg, DtSyncPointQueryMsg, DtForwarderCounterMsg, DtRtiExecConnectMsg, DtWwwFederateStateRspMsg, DtDiscObjMsg, DtFomModuleRequestMsg, DtRestoreReplyMsg, DtCreateResponseMsg, DtQueryInterTransportMsg, DtSaveResponseMsg, DtRegObjMsg, DtSubObjMsg, DtWwwStateRspMsg, DtJoinConfirmMsg, DtReconnectMsg, DtUpdateRoMsg, DtWwwControlMsg, DtWwwControlRspMsg, DtInteractionRoMsg, DtDeleteRoMsg, DtMultiNameReservedMsg, DtPartnerFederateMsg, DtRestoreBegunMsg, DtForwarderPortMsg, DtReportFederationsMsg, DtSmEnrollmentMsg, DtDestroyResponseMsg, DtReleaseMultiNameMsg, DtReserveMultiNameMsg, DtForwarderPingMsg, DtForwarderResignMsg, DtSaveTimeMsg, DtMacAddrMsg, DtResignDirectiveMsg, DtWwwFederateStateReqMsg, DtNetworkMapRspMsg, DtPubObjMsg, DtTransferRidParamsMsg, DtUnsubObjMsg, DtDestroyMsg, DtForwarderConnectionLostMsg, DtReqDiscObjMsg, DtUnpubObjMsg, DtLocDelMsg, DtUnsubInterMsg, DtEnableDisableNetworkTestingMsg, DtNetworkMapReqMsg, DtRestoreEndMsg, DtRestoreInitiateMsg, DtSaveFinishedMsg, DtSubInterMsg, DtConnectMsg, DtUnpubInterMsg, DtWwwStateReqMsg, DtPubInterMsg, DtDesignatedFederateMsg, DtRidTestRequestMsg, DtListFederationsMsg, DtSaveCompleteMsg, DtSaveRequestMsg, DtSaveMsg, DtAliveMsg, DtRtiExecShutdownForwarderMsg, DtQueryRestoreStatusMsg, DtQuerySaveStatusMsg, DtRestoreCompleteMsg, DtAbortRestoreMsg, DtQueueFullMsg, DtRestoreRequestMsg, DtRestoreMsg, DtSaveInitiateConstrainedMsg, DtSaveInitiateMsg, DtDeleteSocketMsg, DtDisconnectMsg, DtRtiExecDisconnectMsg, DtFedAmbCallbackMsg, DtSaveBegunMsg, DtAbortSaveMsg, DtInitiatedSaveMsg, DtSaveTimeAdvanceMsg, and DtNullMsg.

bool DtRtiMsg::isAllowedDuringSave ( ) const [virtual]

Return boolean: message type can be processed during save?

References myAllowedDuringSave.

Referenced by DtConnectionMgr::handleMsg().

bool DtRtiMsg::isConstrained ( ) const [virtual]

Return boolean: message type can be time constrained?

References myConstrained.

Referenced by DtConnectionMgr::handleMsg(), DtConnectionMgr::processPendingMsg(), DtRtiMsgQueue::queueMsg(), and DtConnectionMgr::sendLoopback().

bool DtRtiMsg::isForExec ( const MAKRti::DtString &  execName,
int  execHandle 
) const [virtual]

Utility functions, check the message type against known interaciton/update message types.

References DtDdmInteractionRoMsgKind, DtDdmInteractionTsoMsgKind, DtInteractionRoMsgKind, DtInteractionTsoMsgKind, and msgKind().

Referenced by DtTestManager::getTestIDFromMetaData(), and DtTestManager::shouldAddMetadataToMessage().

bool DtRtiMsg::isMetadataPresent ( ) const [virtual]

Test if metadata has been added to a DtRtiMsg object.

References DtNetMsgHeader::metadataInMessage(), and netHeader().

bool DtRtiMsg::isValidVersion ( ) const [virtual]

Returns bool: message version is valid?

References DtRtiMessageVersion, netHeader(), and DtNetMsgHeader::versionMatches().

const char * DtRtiMsg::kindString ( ) const [virtual]
const char * DtRtiMsg::kindString ( const void *  buffer) [static]

Extracts the message kind from the given buffer and returns its string name.

References kindToString(), and msgKind().

const char * DtRtiMsg::kindToString ( DtRtiMsgKind  kind) [static]

Returns the name of the message, by kind enumeration.

References DtAbortRestoreMsgKind, DtAbortSaveMsgKind, DtAliveMsgKind, DtAssocPubRegMsgKind, DtAssocSubRegMsgKind, DtCallbackMsgKind, DtChangeLatencyTestModeMsgKind, DtConnectConfirmMsgKind, DtConnectMsgKind, DtConstrainedEnabledMsgKind, DtConstrainedSyncMsgKind, DtCreateMsgKind, DtCreateResponseMsgKind, DtDdmInteractionRoMsgKind, DtDdmInteractionTsoMsgKind, DtDdmUpdateRoMsgKind, DtDdmUpdateTsoMsgKind, DtDeleteRegMsgKind, DtDeleteRoMsgKind, DtDeleteSocketMsgKind, DtDeleteTsoMsgKind, DtDesignatedFederateMsgKind, DtDestroyMsgKind, DtDestroyResponseMsgKind, DtDisableMsgKind, DtDiscObjMsgKind, DtDisconnectMsgKind, DtEnableConstrainedMsgKind, DtEnableDisableNetworkTestingMsgKind, DtEnableRegulationMsgKind, DtFomModuleDistributionMsgKind, DtFomModuleRequestMsgKind, DtForwarderConnectionLostMsgKind, DtForwarderCounterMsgKind, DtForwarderNodeInfoMsgKind, DtForwarderPingMsgKind, DtForwarderPortMsgKind, DtForwarderResignMsgKind, DtInitiatedSaveMsgKind, DtInteractionRoMsgKind, DtInteractionTsoMsgKind, DtInterRegSetMsgKind, DtInvalidMsgKind, DtJoinConfirmMsgKind, DtJoinLightWeightMsgKind, DtJoinMsgKind, DtJoinResponseMsgKind, DtKINDSTR, DtLatencyReportMsgKind, DtLbtsMsgKind, DtListFederationsMsgKind, DtLocDelMsgKind, DtMacAddrMsgKind, DtMcastConfigureMsgKind, DtMulticastDiscoveryMsgKind, DtMultiNameReservedMsgKind, DtNameReservedMsgKind, DtNerLbtsMsgKind, DtNetworkMapReqMsgKind, DtNetworkMapRspMsgKind, DtNextEventRequestMsgKind, DtNotifyRegMsgKind, DtObjRegSetMsgKind, DtOwnershipMsgKind, DtPartnerFederateMsgKind, DtPubInterMsgKind, DtPubObjMsgKind, DtQueryInterTransportMsgKind, DtQueryRestoreStatusMsgKind, DtQuerySaveStatusMsgKind, DtQueryTransportMsgKind, DtQueueFullMsgKind, DtReconnectMsgKind, DtRegionRealizationMsgKind, DtRegObjMsgKind, DtRegulationEnabledMsgKind, DtRegulationRequestMsgKind, DtRegulationResponseMsgKind, DtReleaseMultiNameMsgKind, DtReportFederationsMsgKind, DtReqDiscObjMsgKind, DtRequestMsgKind, DtReserveMultiNameMsgKind, DtReserveNameMsgKind, DtResignDirectiveMsgKind, DtResignMsgKind, DtRestoreBegunMsgKind, DtRestoreCompleteMsgKind, DtRestoreEndMsgKind, DtRestoreInitiateMsgKind, DtRestoreMsgKind, DtRestoreReplyMsgKind, DtRestoreRequestMsgKind, DtRestoreStatusMsgKind, DtResumeConstrainedMsgKind, DtRetractMsgKind, DtRidTestRequestMsgKind, DtRtiExecConnectMsgKind, DtRtiExecDisconnectMsgKind, DtRtiExecHandshakeMsgKind, DtRtiExecShutdownForwarderMsgKind, DtSaveBegunMsgKind, DtSaveCompleteMsgKind, DtSaveFinishedMsgKind, DtSaveInitiateConstrainedMsgKind, DtSaveInitiateMsgKind, DtSaveRequestMsgKind, DtSaveRequestTsoMsgKind, DtSaveResponseMsgKind, DtSaveStatusMsgKind, DtSaveTimeAdvanceMsgKind, DtSaveTimeMsgKind, DtSmEnrollmentMsgKind, DtSubInterMsgKind, DtSubObjMsgKind, DtSyncConstrainedMsgKind, DtSyncPointMsgKind, DtSyncPointQueryMsgKind, DtTestMgrStatusMsgKind, DtTimeAdvanceRequestMsgKind, DtTimeRegMsgKind, DtTransferRidParamsMsgKind, DtUnpubInterMsgKind, DtUnpubObjMsgKind, DtUnsubInterMsgKind, DtUnsubObjMsgKind, DtUpdateRoMsgKind, DtUpdateTsoMsgKind, DtWwwControlMsgKind, DtWwwControlRspMsgKind, DtWwwFederateStateReqMsgKind, DtWwwFederateStateRspMsgKind, DtWwwStateReqMsgKind, and DtWwwStateRspMsgKind.

Referenced by DtForwarderNodeInfoFilter::applyFilter(), DtFederateCounterFilter::applyFilter(), DtForwarderPingFilter::applyFilter(), DtRtiExecHandshakeFilter::applyFilter(), DtForwarderWebManagerFilter::applyFilter(), DtNetworkMapFilter::applyFilter(), DtUpdateInterDestinationFilter< ParentClass >::applyFilter(), DtFederateConnectFilter< ParentClass >::applyFilter(), DtFederateJoinResignFilter< ParentClass >::applyFilter(), DtMulticastListenDropFilter< ParentClass >::applyFilter(), DtForwarderFedexMsgFilter::applyFilter(), DtRtiExecConnectionFilter< DtRtiExecHandshakeProcessor >::applyFilter(), DtConnectConfirmFilter::doFilter(), DtRoutePrinterFilter::doFilter(), DtFederateTrackingFilter::doFilter(), DtFedexMsgFilter::doFilter(), DtRtiExecTrackingFilter::doFilter(), DtTcpRtiConnectionMgr::establishConnection(), DtTcpWwwSpyAdapter::getConnectMsg(), DtLanForwarderPort::getNextMsg(), kindString(), DtRtiConnection::netRead(), DtTcpWwwSpyAdapter::netRead(), DtTcpRtiConnectionMgr::netRead(), DtWwwClientProtocol::parseResponse(), printHeader(), DtFilteredTcpForwarder::readAndForward(), DtObjectMgr::sendBestEffortUpdateMsg(), DtInteractionMgr::sendInteractionMsg(), and DtObjectMgr::sendReliableUpdateMsg().

DtRtiMsgKind DtRtiMsg::msgKind ( ) const [inline, virtual]
DtNetMsgHeader * DtRtiMsg::netHeader ( ) const [inline, virtual]
DtOrderHandle DtRtiMsg::orderType ( ) const [virtual]
void DtRtiMsg::print ( DtLogicalTimeFactory logicalTimeFactory) const [virtual]
void DtRtiMsg::printData ( DtLogicalTimeFactory logicalTimeFactory) const [virtual]

Reimplemented in DtJoinResponseMsg, DtSyncPointMsg, DtOwnershipMsg, DtJoinMsg, DtRequestMsg, DtCreateMsg, DtQueryTransportMsg, DtConnectConfirmMsg, DtResignMsg, DtJoinLightWeightMsg, DtFomModuleDistributionMsg, DtMulticastDiscoveryMsg, DtMcastConfigureMsg, DtSyncPointQueryMsg, DtWwwFederateStateRspMsg, DtRtiExecConnectMsg, DtDiscObjMsg, DtRtiExecHandshakeMsg, DtFomModuleRequestMsg, DtForwarderCounterMsg, DtUpdateRoMsg, DtSaveResponseMsg, DtWwwStateRspMsg, DtFedAmbCallbackMsg, DtRegObjMsg, DtReconnectMsg, DtSubObjMsg, DtWwwControlMsg, DtWwwControlRspMsg, DtJoinConfirmMsg, DtQueryInterTransportMsg, DtCreateResponseMsg, DtDeleteRoMsg, DtInteractionRoMsg, DtMultiNameReservedMsg, DtRestoreBegunMsg, DtReportFederationsMsg, DtSaveTimeMsg, DtSmEnrollmentMsg, DtDestroyResponseMsg, DtForwarderPingMsg, DtForwarderResignMsg, DtRestoreReplyMsg, DtTestMgrStatusMsg, DtWwwFederateStateReqMsg, DtNetworkMapRspMsg, DtResignDirectiveMsg, DtSaveMsg, DtPubObjMsg, DtForwarderConnectionLostMsg, DtNetworkMapReqMsg, DtUnsubObjMsg, DtDestroyMsg, DtLatencyReportMsg, DtReqDiscObjMsg, DtTransferRidParamsMsg, DtUnpubObjMsg, DtChangeLatencyTestModeMsg, DtLocDelMsg, DtPartnerFederateMsg, DtRestoreInitiateMsg, DtUnsubInterMsg, DtEnableDisableNetworkTestingMsg, DtSubInterMsg, DtWwwStateReqMsg, DtConnectMsg, DtRidTestRequestMsg, DtReleaseMultiNameMsg, DtReserveMultiNameMsg, DtSaveCompleteMsg, DtUnpubInterMsg, DtPubInterMsg, DtSaveRequestMsg, DtDesignatedFederateMsg, DtListFederationsMsg, DtAliveMsg, DtRtiExecShutdownForwarderMsg, DtQueryRestoreStatusMsg, DtQuerySaveStatusMsg, DtAbortRestoreMsg, DtSaveBegunMsg, DtAbortSaveMsg, and DtNullMsg.

References netHeader().

Referenced by print().

void DtRtiMsg::printHeader ( DtLogicalTimeFactory logicalTimeFactory) const [virtual]
void DtRtiMsg::printInterval ( const char *  label,
RTI::FedTime const *  intervalValue 
) const [virtual]
void DtRtiMsg::printTime ( const char *  label,
RTI::FedTime const *  timeValue 
) const [virtual]
void DtRtiMsg::removeMetadata ( unsigned int  size) [virtual]

Update the size of the message when metadata has been removed.

Does not do the actual removing (that's done by DtRtiMetadata::remove())

Referenced by DtRtiMetadata::remove().

unsigned long DtRtiMsg::sequenceNumber ( ) const [virtual]

Set/Get message sequence number.

References netHeader(), and DtNetMsgHeader::sequenceNumber.

Referenced by printHeader().

unsigned long DtRtiMsg::serialNumber ( ) const [virtual]
unsigned long DtRtiMsg::serviceCallNumber ( ) const [virtual]

Set/Get service call number.

References myServiceCallNumber.

Referenced by printHeader().

void DtRtiMsg::setDefaultRegionSet ( unsigned long  defaultRegionSet) [static]

Set the default region set handle.

References theDefaultRegionSetHandle.

void DtRtiMsg::setFederateHandle ( DtFederateHandle  handle) [virtual]
void DtRtiMsg::setFedEx ( const MAKRti::DtString &  name) [virtual]

All RTI messages contain information to identify which federation execution the message applies to.

The federation execution is identified differently depending on whether or not an rtiexec is being used. When using an rtiexec, use setFedEx(int fedExHandle) to add a federation execution identifier to a message, passing the handle you received from the rtiexec in a joinResponse message when you joined. When not using an rtiexec, use setFedEx(const MAKRti::DtString fedExName), passing the name of the federation execution. In this case, the first three letters of the name will be used as the identifier. In either case, use isForExec() to find out if a received message is for a particular federation execution. Pass the federation execution name and the handle (if using an rtiexec). Set federation execution identifier as a string

References DtNetExecNameSize, DtNetMsgHeader::fedExecId, and netHeader().

Referenced by DtFedExec::changeLatencyTestMode(), DtEnableDisableNetworkTestingMsg::DtEnableDisableNetworkTestingMsg(), DtResignMsg::DtResignMsg(), DtSmEnrollmentMsg::DtSmEnrollmentMsg(), DtTestMgrStatusMsg::DtTestMgrStatusMsg(), DtWwwControlMsg::DtWwwControlMsg(), DtWwwControlRspMsg::DtWwwControlRspMsg(), DtWwwFederateStateReqMsg::DtWwwFederateStateReqMsg(), DtWwwFederateStateRspMsg::DtWwwFederateStateRspMsg(), DtFedExec::endRestore(), DtFedExec::endSave(), DtTcpRtiConnectionMgr::establishConnection(), initDtRtiMsg(), DtRtiMsgForwarder::markConnectionAsAboutToBeDeleted(), DtWwwClientProtocol::parseCommand(), DtFedExec::processFedFileRequestMsg(), DtFedExec::processRestoreBegun(), DtFedExec::processRestoreRequest(), DtRtiExecTrackingFilter::processTimeout(), DtSynchronousFileDistributor::pullEntireFedFile(), DtFileDistributor::pushFedFile(), DtConnectionMgr::repairFederationConnection(), DtRtiExecFederateMgr::restore(), DtFedExec::restoreFederateConnection(), DtRtiExec::ridRequestCb(), DtFedExec::sendDesignatedFederate(), DtFedExec::sendEnableDisableNetworkTestingMsg(), DtFedExec::sendJoinResponseMsg(), DtFedExec::sendMultiNameReservedMsg(), DtFedExec::sendNameReservedMsg(), DtFedExec::sendResignMsg(), DtFedExec::sendRestoreStatus(), DtFedExec::sendSaveInitiateConstrainedMsg(), DtFedExec::sendSaveInitiateMsg(), DtFedExec::sendSaveResponse(), DtFedExec::sendSaveStatus(), DtConnectionMgr::sendStampedUtilityFunction(), DtFedExec::sendSyncPointMsg(), DtFedExec::sendSyncPointReport(), DtFedExec::sendSyncPointStatusReport(), DtTcpWwwSpyAdapter::sendTypeInfo(), DtEnableDisableNetworkTestingMsg::set(), DtSmEnrollmentMsg::set(), DtResignMsg::set(), DtRtiMsgForwarder::tcpSocketAdditionCb(), DtRtiMsgForwarder::tcpSocketRemovalCb(), DtFilteredTcpForwarder::updateQueuedSockets(), and DtSmConnectionMgr::~DtSmConnectionMgr().

void DtRtiMsg::setFedEx ( int  handle) [virtual]

Set federation execution identifier as a handle.

References DtNetMsgHeader::fedExecId, and netHeader().

void DtRtiMsg::setSequenceNumber ( unsigned long  value) [virtual]
void DtRtiMsg::setSerialNumber ( unsigned long  serialNumberValue) [virtual]

Set/Get event retraction serial number Used in timestamped messages.

Network data must be maintained by derived messages

References mySerialNumber.

void DtRtiMsg::setServiceCallNumber ( unsigned long  value) [virtual]

Set/Get service call number.

References myServiceCallNumber.

Referenced by DtConnectionMgr::send(), and DtAsyncConnectionMgr::setMessageTracking().

void DtRtiMsg::setSmartForwardingEnabled ( bool  enabled) [static]

Set/Get is SmartForwarding enabled?

References theSmartForwardingEnabled.

Referenced by DtConnectionMgr::enableSmartForwarding(), and DtRtiMsgForwarder::init().

void DtRtiMsg::setTime ( const RTI::FedTime time) [virtual]

Set/Get time Used in timestamped messages.

Network data must be maintained by derived messages

Reimplemented in DtSaveMsg.

void DtRtiMsg::setTriggerMessageNumber ( unsigned long  value) [virtual]

Set/Get trigger message sequence number (i.e., the message being processed that triggered this message being sent).

References myTriggerMessage.

Referenced by DtConnectionMgr::send(), and DtAsyncConnectionMgr::setMessageTracking().

void DtRtiMsg::setUse32BitsForValueSize ( bool  use32BitsForValueSizeEnabled) [static]

Set/Get flag to enable use of 32 bit size field for attribute/parameter values.

References theUse32BitsForValueSize.

Referenced by DtConnectionMgr::initParams().

void DtRtiMsg::sizeChanged ( int  size) [protected, virtual]

Called whenever size is changed using changeSize, or insert/deleteBytes.

References netHeader(), and DtNetMsgHeader::totalSize.

int DtRtiMsg::status ( ) const [inline, virtual]
RTI::FedTime const * DtRtiMsg::time ( DtLogicalTimeFactory fedTimeFactory) const [virtual]
unsigned long DtRtiMsg::triggerMessageNumber ( ) const [virtual]

Set/Get trigger message sequence number (i.e., the message being processed that triggered this message being sent).

References myTriggerMessage.

Referenced by printHeader().

int DtRtiMsg::version ( ) const [virtual]

Return the message version.

References DtRtiMessageVersion, and netHeader().

Referenced by printHeader().


Member Data Documentation

Referenced by DtSaveMsg::time(), and ~DtRtiMsg().

Referenced by orderType().

unsigned long DtRtiMsg::mySerialNumber [protected]

Referenced by serialNumber(), and setSerialNumber().

unsigned long DtRtiMsg::myServiceCallNumber [protected]

Referenced by hasTime().

Reimplemented in DtQueryTransportMsg.

Referenced by setTransportType(), and transportType().

unsigned long DtRtiMsg::myTriggerMessage [protected]
unsigned long DtRtiMsg::theDefaultRegionSetHandle = 0 [static]

Referenced by setDefaultRegionSet().

const char * DtRtiMsg::theDefaultTag = NULL [static]
bool DtRtiMsg::theSmartForwardingEnabled = false [static, protected]
bool DtRtiMsg::theUse32BitsForValueSize = false [static, protected]

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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)