![]() |
VR-Forces 4.7 Class Documentation
|

Public Member Functions | |
| DtVrfMessageInterface (DtExerciseConn *exConn, bool useDefaultInterfaceFactory=true) | |
| Constructor. | |
| virtual | ~DtVrfMessageInterface () |
| destructor | |
| virtual bool | init () |
| Creates all the other pieces. | |
| virtual bool | createMessageExecutive () |
| Creator functions. | |
| virtual void | createSplitMessageCollector () |
| Replaces mySplitMessageCollector with a new one. | |
| virtual DtSplitMessageCollector * | splitMessageCollector () |
| virtual const DtSplitMessageCollector * | splitMessageCollector () const |
| virtual bool | deliverMessage (const DtSimInterfaceMessage &msg) |
| Send a message. | |
| virtual bool | receiveMessage (const DtSimInterfaceMessage &msg) |
| virtual bool | createAndDeliverMessage (const DtSimulationAddress &recipient, const DtSimInterfaceContent &content, bool overrideTimestampOrder=true) |
| virtual bool | getContentFromNet (DtDataInteraction *dataInter, DtSimInterfaceContent *&content) const |
| Create/set objects based on DtDataInteraction information. | |
| virtual bool | getContentFromNet (unsigned nBufferSize, int nContentType, const char *pContentBuffer, DtSimInterfaceContent *&content) const |
| virtual bool | setContentForNet (DtDataInteraction *dataInter, DtSimInterfaceContent *content) const |
| virtual void | setSequence (DtU32 num) |
| Get/Set the sequence number. | |
| virtual DtU32 | sequence () const |
| virtual void | setSessionId (DtU32 num) |
| Get/Set the session id. | |
| virtual DtU32 | sessionId () const |
| virtual void | setVrfMessageVersionSupported (DtU32 num) |
| Get/Set the vrf message version. | |
| virtual DtU32 | vrfMessageVersionSupported () const |
| virtual bool | isMessageVrfVersionSupported (DtDataInteraction *) const |
| Returns true if this data interaction passes the message version check. | |
| virtual void | addVrfMessageVersionValidCallback (DtIsValidVrfMessageVersionFcn fcn, void *usr) |
| Register vrf message interface version valid. | |
| virtual void | removeVrfMessageVersionValidCallback (DtIsValidVrfMessageVersionFcn fcn, void *usr) |
| virtual bool | isVrfMessageVersionTransparentMessageType (int messageType) const |
| Returns true if the given message type is message version transparent (i.e. | |
| virtual bool | isSessionTransparentMessageType (int messageType) |
| Returns true if the given message type is session transparent (i.e. | |
| virtual DtExerciseConn * | exerciseConn () |
| Get the exercise connection ptr. | |
| virtual void | clearExerciseConn () |
| Sets the exercise conn to NULL. | |
| virtual DtInterfaceContentFactory * | factory () const |
| Get/Set the factory used for creating interface content msgs. | |
| virtual void | setFactory (DtInterfaceContentFactory *fact) |
| virtual DtInterfaceMessageExecutive * | messageExecutive () const |
| Get the message executive ptr. | |
| virtual const DtSimulationAddress & | messageAddress () const |
| Get the address that should be used as the sender for all messages originating from the backend. | |
| virtual void | receiveMessage (DtDataInteraction *dataInter) |
| Process a received data interaction from the network. | |
| virtual bool | sendMessage (const DtSimInterfaceMessage &message) |
| Send a sim interface message. | |
| virtual void | addMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData) |
| Add/Remove interface message callback functions. | |
| virtual void | removeMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData) |
| virtual bool | sendSplitContent (const char *pContentBuffer, unsigned int nBufferSize, int nContentType, const DtSimulationAddress &sender, const DtSimulationAddress &recipient, DtSplitMessageHandle &msgHandleReturn) |
| Sends oversize message content as multiple DtSimInterfaceMessages with DtIfSplitContent. | |
| virtual bool | sendSplitContent (const char *pContentBuffer, unsigned int nBufferSize, int nContentType, const DtSimulationAddress &sender, const DtSimulationAddress &recipient) |
| Sends oversize message content as multiple DtSimInterfaceMessages with DtIfSplitContent. | |
| virtual bool | isQueuedMessage (const DtSimInterfaceMessage &message) |
| Determines if a message should get put into the receive queue. | |
| virtual void | processReceiveMessageQueue () |
| Receives any interface messages we have in the myReceiveMessageQueue. | |
| virtual void | setQueueMessages (bool) |
| Set to false to not queue messages in HLA. Default is true. | |
| virtual bool | queueMessages () const |
| virtual void | setTransportTypeReliable (int contentType) |
| Sets the transport type for the given content type to be \iable. | |
| virtual void | setTransportTypeBestEffort (int contentType) |
| Sets the transport type for the given content type to be best-effort. | |
| virtual void | updateTransportTypeForMsg (const DtSimInterfaceMessage &message) |
| Update the transportation type to be used based on the given message. | |
| virtual void | processReassembledContent (const char *pContent, int nContentSize, int nContentType, const DtSimulationAddress &messageIdSender, int messageIdNumber, const DtSimulationAddress &recipient) |
| Reconstitute a message based on previously split content. | |
| virtual bool | receiveMessage (const DtSimInterfaceContent &content) |
| Call this to receive a message internally – this will not go out over the network. | |
Static Public Member Functions | |
| static void | netMessageCallback (DtDataInteraction *dataInter, void *usr) |
Protected Member Functions | |
| bool | sendNormalMessage (const DtSimInterfaceMessage &message) |
| Send a message, called from sendMessage if message content does not exceed maximum size. | |
| DtVrfMessageInterface (const DtVrfMessageInterface &orig) | |
| DtVrfMessageInterface & | operator= (const DtVrfMessageInterface &orig) |
| DtVrfMessageInterface () | |
Static Protected Member Functions | |
| static bool | matchPattern (const DtSimulationAddress &address, const DtSimulationAddress &pattern) |
| Utility function that returns true if the address matches the given pattern. | |
| static void | postDrainCallback (void *usr) |
| calls processSendMessageQueue(); | |
| static char * | dataInteractionChooser (DtExerciseConn *exConn, const DtInteraction &inter) |
Protected Attributes | |
| DtInterfaceContentFactory * | myContentFactory |
| DtInterfaceMessageExecutive * | myMessageExecutive |
| DtExerciseConn * | myExerciseConnection |
| bool | myCreatedInterfaceFactory |
| DtU32 | mySequenceNumber |
| DtU32 | mySessionId |
| DtSplitMessageCollector * | mySplitMessageCollector |
| DtU32 | myVrfMessageVersionSupported |
| The vrf version is set (by default) from the values found in version.h. | |
| DtList | myCallbacks |
| DtList | myReceiveMessageQueue |
| Used to hold interface messages which will cause response messages to be sent until after drainInput, when they can safely be sent (with the DMSO RTI). | |
| bool | myQueueMessages |
| Set to false to not queue messages in HLA. Default is true. | |
| bool | myUseReliableTransport |
| Whether the next message should be sent via reliable transport. | |
| bool | myAllowReliableDataInteractions |
| Whether reliable data interactions are supported. | |
| std::set< int > | myContentTypesToSendReliable |
| Set of content types to be sent via reliable transport. | |
| DtVrfMessageInterface::DtVrfMessageInterface | ( | DtExerciseConn * | exConn, |
| bool | useDefaultInterfaceFactory = true |
||
| ) |
Constructor.
|
virtual |
destructor
|
protected |
|
protected |
|
virtual |
Creates all the other pieces.
Reimplemented in DtVrfMsgPrinter.
|
virtual |
Creator functions.
These can be overridden to create managed objects that are derived from the base objects we provide.
|
virtual |
Replaces mySplitMessageCollector with a new one.
|
inlinevirtual |
References mySplitMessageCollector.
|
inlinevirtual |
References mySplitMessageCollector.
|
virtual |
Send a message.
|
virtual |
|
virtual |
|
virtual |
Create/set objects based on DtDataInteraction information.
Reimplemented in DtVrfMsgPrinter.
|
virtual |
|
virtual |
|
virtual |
Get/Set the sequence number.
|
inlinevirtual |
References mySequenceNumber.
|
inlinevirtual |
Get/Set the session id.
References mySessionId.
|
inlinevirtual |
References mySessionId.
|
inlinevirtual |
Get/Set the vrf message version.
References myVrfMessageVersionSupported.
|
inlinevirtual |
References myVrfMessageVersionSupported.
|
virtual |
Returns true if this data interaction passes the message version check.
This will be true if: 1) The Major, Minor and Extra version info match between the version of the message interface or 2) Any installed version check callbacks return true. NOTE that it is important that if a callback returns true it is sure that it will not have a detrimental effect in the system. Returning true to support a message that might otherwise would be ignored for version reasons could cause system instability
Note that if a data interaction does not have a version record, the version of that interaction will be assumed to be 0.
|
virtual |
Register vrf message interface version valid.
|
virtual |
|
inlinevirtual |
Returns true if the given message type is message version transparent (i.e.
delivered to all message interfaces, regardless of their vrf message version)
References DtVrfObjectDataMessageType.
Returns true if the given message type is session transparent (i.e.
delivered to all message interfaces, regardless of their session ID)
References DtVrfObjectDataMessageType.
|
inlinevirtual |
Get the exercise connection ptr.
References myExerciseConnection.
|
inlinevirtual |
Sets the exercise conn to NULL.
References myExerciseConnection.
|
virtual |
Get/Set the factory used for creating interface content msgs.
|
virtual |
|
virtual |
Get the message executive ptr.
|
virtual |
Get the address that should be used as the sender for all messages originating from the backend.
|
virtual |
Process a received data interaction from the network.
Reimplemented in DtVrfMsgPrinter.
|
virtual |
Send a sim interface message.
|
virtual |
Add/Remove interface message callback functions.
|
virtual |
|
virtual |
Sends oversize message content as multiple DtSimInterfaceMessages with DtIfSplitContent.
This is called from sendMessage() when the size of content will exceed the maximum allowable packet size. sendSplitContent() will break up the buffer into chunks and transmit them as DtIfSplitContent, to be reconstructed on the receiving end.
| [in] | pContentBuffer | The original content, assumed to be oversized. |
| [in] | nBufferSize | The size of pContentBuffer in bytes. |
| [in] | nContentType | The original content type. |
| [in] | sender | The simulator from which the message is being sent. |
| [in] | recipient | The simulator(s) to which the message should be sent. |
| [out] | msgHandleReturn | Will contain information about how the DtIfSplitContent messages were prepared. |
|
virtual |
Sends oversize message content as multiple DtSimInterfaceMessages with DtIfSplitContent.
This call will redirect to sendSplitContent(...), above.
|
virtual |
Determines if a message should get put into the receive queue.
|
virtual |
Receives any interface messages we have in the myReceiveMessageQueue.
This function should only be called by postDrainCallback(). WARNING: Calling this function from within an RTI callback will cause the DMSO RTI to throw concurrent modification exceptions. Use with caution and be sure to test with the DMSO RTI after adding a call to this function.
|
virtual |
Set to false to not queue messages in HLA. Default is true.
|
virtual |
|
virtual |
Sets the transport type for the given content type to be \iable.
|
virtual |
Sets the transport type for the given content type to be best-effort.
Since best-effort will be the default for all messages not explicitly set to another transport type, this is only necessary to undo a previous setting.
|
virtual |
Update the transportation type to be used based on the given message.
|
virtual |
Reconstitute a message based on previously split content.
|
static |
|
virtual |
Call this to receive a message internally – this will not go out over the network.
The sender and recipient will be the address of this exercise connection
|
protected |
Send a message, called from sendMessage if message content does not exceed maximum size.
|
staticprotected |
Utility function that returns true if the address matches the given pattern.
Returns true for the following cases: address.site == -1 && address.applicationId == -1 address.site == pattern.site && address.applicationId == -1 address.site == pattern.site && address.applicationId == pattern.applicationId
returns false otherwise
|
staticprotected |
calls processSendMessageQueue();
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by clearExerciseConn(), and exerciseConn().
|
protected |
|
protected |
Referenced by sequence().
|
protected |
Referenced by sessionId(), and setSessionId().
|
protected |
Referenced by splitMessageCollector().
|
protected |
The vrf version is set (by default) from the values found in version.h.
Call setVrfMessageVersionSupported after construction to change to a new version
Referenced by setVrfMessageVersionSupported(), and vrfMessageVersionSupported().
|
protected |
|
protected |
Used to hold interface messages which will cause response messages to be sent until after drainInput, when they can safely be sent (with the DMSO RTI).
|
protected |
Set to false to not queue messages in HLA. Default is true.
|
protected |
Whether the next message should be sent via reliable transport.
|
protected |
Whether reliable data interactions are supported.
|
protected |
Set of content types to be sent via reliable transport.