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 | 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, DtMultiRegObjMsg, 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, DtRtiTemplateMsg, DtSaveMsg, DtSaveResponseMsg, DtSmEnrollmentMsg, DtSubInterMsg, DtSubObjMsg, DtSyncPointMsg, DtSyncPointQueryMsg, DtTestMgrStatusMsg, DtTransferRidParamsMsg, DtUnpubInterMsg, DtUnpubObjMsg, DtUnsubInterMsg, DtUnsubObjMsg, and DtUpdateMsg.

+ Collaboration diagram for DtRtiMsg:

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 DtNetMsgHeadernetHeader (const void *buffer)
 Extracts the header network representation from the buffer.
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 const DtRtiMsgKind msgKind (const void *buffer)
 Extracts the message kind from the given buffer.
static unsigned int version (const void *buffer)
 Extracts the message version form the given buffer.
static unsigned int fedExHandle (const void *buffer)
 Extracts the message fedEx handle form the given buffer (0 if lightweight fedEx name)
static DtFederateHandle federateHandle (const void *buffer)
 Extracts the message federate handle form the given buffer.
static unsigned long sequenceNumber (const void *buffer)
 Extracts the message sequence number form the given buffer.
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 
)
inlineprotectedvirtual

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(), DtDeleteMsg::setTag(), and DtRequestMsg::setTag().

void DtRtiMsg::adjustBytes ( void *  address,
int  numBytes 
)
inlineprotectedvirtual

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, DtJoinMsg, DtResignMsg, DtFedAmbCallbackMsg, DtMcastConfigureMsg, DtMulticastDiscoveryMsg, DtCreateResponseMsg, DtLatencyReportMsg, DtQueryTransportMsg, DtSmEnrollmentMsg, DtChangeLatencyTestModeMsg, DtRestoreInitiateMsg, DtSaveTimeMsg, DtRestoreReplyMsg, DtSaveFinishedMsg, DtSyncPointQueryMsg, DtJoinConfirmMsg, DtRestoreEndMsg, DtForwarderCounterMsg, DtPartnerFederateMsg, DtDeleteRoMsg, DtFomModuleRequestMsg, DtSaveResponseMsg, DtUpdateRoMsg, DtCreateMsg, DtRtiExecHandshakeMsg, DtForwarderPortMsg, DtReconnectMsg, DtDestroyMsg, DtForwarderPingMsg, DtForwarderResignMsg, DtJoinLightWeightMsg, DtRestoreBegunMsg, DtDestroyResponseMsg, DtInteractionRoMsg, DtLocDelMsg, DtMacAddrMsg, DtRegObjMsg, DtMultiNameReservedMsg, DtQueryInterTransportMsg, DtReportFederationsMsg, DtDiscObjMsg, DtRtiExecConnectMsg, DtNetworkMapReqMsg, DtNetworkMapRspMsg, DtResignDirectiveMsg, DtRidTestRequestMsg, DtSubObjMsg, DtTransferRidParamsMsg, DtConnectMsg, DtEnableDisableNetworkTestingMsg, DtPubObjMsg, DtReleaseMultiNameMsg, DtReserveMultiNameMsg, DtUnsubObjMsg, DtConnectConfirmMsg, DtRestoreCompleteMsg, DtRestoreRequestMsg, DtRestoreMsg, DtSaveCompleteMsg, DtSaveInitiateConstrainedMsg, DtSaveInitiateMsg, DtSaveRequestMsg, DtUnpubObjMsg, DtDeleteSocketMsg, DtDesignatedFederateMsg, DtForwarderConnectionLostMsg, DtMultiRegObjMsg, DtReqDiscObjMsg, DtUnpubInterMsg, DtUnsubInterMsg, DtListFederationsMsg, DtPubInterMsg, DtSubInterMsg, DtDisconnectMsg, DtRtiExecDisconnectMsg, DtFomModuleDistributionMsg, DtQueueFullMsg, DtAliveMsg, DtRtiExecShutdownForwarderMsg, DtQueryRestoreStatusMsg, DtQuerySaveStatusMsg, DtAbortRestoreMsg, DtSaveBegunMsg, DtAbortSaveMsg, DtInitiatedSaveMsg, and DtSaveTimeAdvanceMsg.

Referenced by cloneWithTransport(), DtRtiExecFederateMgr::processNewFomClassesMsg(), 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(), DtRtiMsgQueue::restoreMsg(), and DtSmRtiConnection::send().

DtFederateHandle DtRtiMsg::federateHandle ( ) const
inlinevirtual

Set/Get federate handle.

Reimplemented in DtReconnectMsg.

References DtNetMsgHeader::fedHandle, and netHeader().

Referenced by DtInteractionMgr::acceptInteraction(), DtPartnerMgr::acceptMessage(), DtRtiMsgQueue::deleteMsgs(), DtObjectMgr::evaluateSubscription(), DtSmartForwardingProcessor::federateJoined(), DtFileDistributor::fileReceived(), DtRtiShmQNetMgr::filterReliableLoopbacks(), DtLanForwarderPort::getNextMsg(), 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(), DtNetStatsMonitor::processMsg(), DtConnectionMgr::processMsg(), DtObjectMgr::processMultiRegister(), 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(), DtRtiExecFederateMgr::processResignResponseMsg(), DtFedExec::processRestoreBegun(), DtFedExec::processRestoreComplete(), DtFedExec::processRestoreRequest(), DtFedExec::processSaveBegun(), DtFedExec::processSaveComplete(), DtFedExec::processSaveRequest(), DtTestManager::processSub(), DtInteractionMgr::processSub(), DtObjectMgr::processSub(), DtFedExec::processSyncPoint(), DtFedExec::processSyncPointQuery(), DtInteractionMgr::processUnpub(), DtObjectMgr::processUnpub(), DtTestManager::processUnsub(), DtInteractionMgr::processUnsub(), DtObjectMgr::processUnsub(), DtObjectMgr::processUpdate(), DtAsyncConnectionMgr::receivePacket(), DtNetStatsMonitor::recordRecvdMsgStats(), DtNetStatsMonitor::recordSentMsgStats(), DtRtiMsgQueue::removeMsg(), DtRtiExec::ridRequestCb(), and DtNetStatsAsyncConnMgr::sendAndDelete().

DtFederateHandle DtRtiMsg::federateHandle ( const void *  buffer)
static

Extracts the message federate handle form the given buffer.

References DtNetMsgHeader::fedHandle, and netHeader().

int DtRtiMsg::fedExHandle ( ) const
virtual
unsigned int DtRtiMsg::fedExHandle ( const void *  buffer)
static

Extracts the message fedEx handle form the given buffer (0 if lightweight fedEx name)

References DtNetMsgHeader::fedExecId, and netHeader().

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(), DtMultiRegObjMsg::DtMultiRegObjMsg(), 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(), and DtUpdateRoMsg::DtUpdateRoMsg().

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

Implemented in DtJoinResponseMsg, DtSyncPointMsg, DtOwnershipMsg, DtJoinMsg, DtForwarderNodeInfoMsg, DtRequestMsg, DtCreateMsg, DtQueryTransportMsg, DtResignMsg, DtChangeLatencyTestModeMsg, DtFomModuleDistributionMsg, DtJoinLightWeightMsg, DtConnectConfirmMsg, DtTestMgrStatusMsg, DtRtiExecHandshakeMsg, DtMulticastDiscoveryMsg, DtLatencyReportMsg, DtMcastConfigureMsg, DtSyncPointQueryMsg, DtForwarderCounterMsg, DtCreateResponseMsg, DtRtiExecConnectMsg, DtDiscObjMsg, DtFomModuleRequestMsg, DtRestoreReplyMsg, DtQueryInterTransportMsg, DtSaveResponseMsg, DtRegObjMsg, DtSubObjMsg, DtJoinConfirmMsg, DtReconnectMsg, DtUpdateRoMsg, DtInteractionRoMsg, DtDeleteRoMsg, DtMultiNameReservedMsg, DtMultiRegObjMsg, DtPartnerFederateMsg, DtRestoreBegunMsg, DtForwarderPortMsg, DtReportFederationsMsg, DtSmEnrollmentMsg, DtDestroyResponseMsg, DtReleaseMultiNameMsg, DtReserveMultiNameMsg, DtForwarderPingMsg, DtForwarderResignMsg, DtSaveTimeMsg, DtMacAddrMsg, DtResignDirectiveMsg, DtNetworkMapRspMsg, DtPubObjMsg, DtTransferRidParamsMsg, DtUnsubObjMsg, DtDestroyMsg, DtForwarderConnectionLostMsg, DtReqDiscObjMsg, DtUnpubObjMsg, DtLocDelMsg, DtUnsubInterMsg, DtEnableDisableNetworkTestingMsg, DtNetworkMapReqMsg, DtRestoreEndMsg, DtRestoreInitiateMsg, DtSaveFinishedMsg, DtSubInterMsg, DtConnectMsg, DtUnpubInterMsg, DtPubInterMsg, DtDesignatedFederateMsg, DtRidTestRequestMsg, DtListFederationsMsg, DtSaveCompleteMsg, DtSaveRequestMsg, DtSaveMsg, DtAliveMsg, DtRtiExecShutdownForwarderMsg, DtQueryRestoreStatusMsg, DtQuerySaveStatusMsg, DtRestoreCompleteMsg, DtAbortRestoreMsg, DtRtiTemplateMsg, 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
bool DtRtiMsg::isInteractionMsgType ( ) const
bool DtRtiMsg::isMetadataPresent ( ) const
virtual

Test if metadata has been added to a DtRtiMsg object.

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

bool DtRtiMsg::isUpdateMsgType ( ) const
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, DtNewFomClassesMsgKind, 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, DtResignRespMsgKind, 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, and DtUpdateTsoMsgKind.

Referenced by DtForwarderNodeInfoFilter::applyFilter(), DtFederateCounterFilter::applyFilter(), DtForwarderPingFilter::applyFilter(), DtRtiExecHandshakeFilter::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(), DtInternalRoutePrinterFilter::doFilter(), DtRtiExecTrackingFilter::doFilter(), kindString(), DtRtiConnection::netRead(), printHeader(), DtFilteredTcpForwarder::readAndForward(), and DtInteractionMgr::sendInteractionMsg().

DtRtiMsgKind DtRtiMsg::msgKind ( ) const
inlinevirtual
const DtRtiMsgKind DtRtiMsg::msgKind ( const void *  buffer)
static

Extracts the message kind from the given buffer.

References msgKind(), and netHeader().

DtNetMsgHeader * DtRtiMsg::netHeader ( ) const
inlinevirtual
const DtNetMsgHeader * DtRtiMsg::netHeader ( const void *  buffer)
inlinestatic

Extracts the header network representation from the buffer.

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, DtResignMsg, DtJoinLightWeightMsg, DtFomModuleDistributionMsg, DtConnectConfirmMsg, DtMulticastDiscoveryMsg, DtMcastConfigureMsg, DtSyncPointQueryMsg, DtRtiExecConnectMsg, DtRtiExecHandshakeMsg, DtDiscObjMsg, DtFomModuleRequestMsg, DtForwarderCounterMsg, DtUpdateRoMsg, DtSaveResponseMsg, DtFedAmbCallbackMsg, DtRegObjMsg, DtReconnectMsg, DtSubObjMsg, DtJoinConfirmMsg, DtQueryInterTransportMsg, DtCreateResponseMsg, DtDeleteRoMsg, DtInteractionRoMsg, DtMultiNameReservedMsg, DtMultiRegObjMsg, DtRestoreBegunMsg, DtReportFederationsMsg, DtSaveTimeMsg, DtSmEnrollmentMsg, DtDestroyResponseMsg, DtForwarderPingMsg, DtForwarderResignMsg, DtRestoreReplyMsg, DtTestMgrStatusMsg, DtNetworkMapRspMsg, DtResignDirectiveMsg, DtSaveMsg, DtPubObjMsg, DtForwarderConnectionLostMsg, DtNetworkMapReqMsg, DtUnsubObjMsg, DtDestroyMsg, DtLatencyReportMsg, DtReqDiscObjMsg, DtTransferRidParamsMsg, DtUnpubObjMsg, DtChangeLatencyTestModeMsg, DtLocDelMsg, DtPartnerFederateMsg, DtRestoreInitiateMsg, DtUnsubInterMsg, DtEnableDisableNetworkTestingMsg, DtRtiTemplateMsg, DtSubInterMsg, 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 DtLanForwarderPort::getNextMsg(), and printHeader().

unsigned long DtRtiMsg::sequenceNumber ( const void *  buffer)
static

Extracts the message sequence number form the given buffer.

References netHeader(), and DtNetMsgHeader::sequenceNumber.

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(), DtFedExec::endRestore(), DtFedExec::endSave(), initDtRtiMsg(), DtRtiMsgForwarder::markConnectionAsAboutToBeDeleted(), 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(), 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::setTransportType ( DtTransportHandle  type)
virtual
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)
protectedvirtual

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

References netHeader(), and DtNetMsgHeader::totalSize.

bool DtRtiMsg::smartForwardingEnabled ( )
static
int DtRtiMsg::status ( ) const
inlinevirtual
RTI::FedTime const * DtRtiMsg::time ( DtLogicalTimeFactory fedTimeFactory) const
virtual
DtTransportHandle DtRtiMsg::transportType ( ) 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().

bool DtRtiMsg::use32BitsForValueSize ( )
static
int DtRtiMsg::version ( ) const
virtual

Return the message version.

References DtRtiMessageVersion, and netHeader().

Referenced by printHeader().

unsigned int DtRtiMsg::version ( const void *  buffer)
static

Extracts the message version form the given buffer.

References netHeader(), and DtNetMsgHeader::version.

Member Data Documentation

bool DtRtiMsg::myAllowedDuringSave
protected
bool DtRtiMsg::myConstrained
protected
RTI::FedTime* DtRtiMsg::myFedTime
protected

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

DtOrderHandle DtRtiMsg::myOrderType
protected

Referenced by orderType().

unsigned long DtRtiMsg::mySerialNumber
protected

Referenced by serialNumber(), and setSerialNumber().

unsigned long DtRtiMsg::myServiceCallNumber
protected
bool DtRtiMsg::myTimeIsValid
protected

Referenced by hasTime().

DtTransportHandle DtRtiMsg::myTransportType
protected

Referenced by setTransportType(), and transportType().

unsigned long DtRtiMsg::myTriggerMessage
protected
unsigned long DtRtiMsg::theDefaultRegionSetHandle = 0
static
const char * DtRtiMsg::theDefaultTag = NULL
static
bool DtRtiMsg::theSmartForwardingEnabled = false
staticprotected
bool DtRtiMsg::theUse32BitsForValueSize = false
staticprotected

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

Document ID: Generated on Wed Mar 11 20:26:49 EDT 2015 from SVN revision 150939
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)