![]() |
MAK RTIspy API Documentation for HLA Evolved
|
Instances of DtInteractionMgr manage the sending and receiving of interactions. More...
Collaboration diagram for DtInteractionMgr:Public Types | |
| typedef DtInteractionMgr *(* | DtInteractionMgrCreator )(DtFederateMgr *fedMgr) |
| Creator function. More... | |
Public Member Functions | |
| virtual | ~DtInteractionMgr () |
| Destructor. More... | |
| virtual void | postJoinInit () |
| Post join processing. All managers shall have been created and initialized. More... | |
| virtual bool | isPostJoined () const |
| Return bool: Was the post join initialization performed? More... | |
| virtual void | publish (DtInteractionClassHandle theInteraction) |
| Process publish service call. More... | |
| virtual void | unpublish (DtInteractionClassHandle theInteraction) |
| Process unpublish service call. More... | |
| virtual void | subscribe (DtInteractionClassHandle theClass, bool active) |
| Process subscribe service call. More... | |
| virtual void | unsubscribe (DtInteractionClassHandle theClass) |
| Process unsubscribe service call. More... | |
| virtual unsigned long | send (DtInteractionClassHandle theInteraction, const DtPhvps ¶ms, DtRtiApiTime const *theTime, DtRtiApiTagConstRef theTag, DtHandle channel, bool anonymous=false) |
| Process send interaction service call. More... | |
| virtual unsigned long | sendDirected (DtInteractionClassHandle theInteraction, DtObjectInstanceHandle objectInstance, const DtPhvps ¶ms, DtRtiApiTagConstRef theTag, DtRtiApiTime const *theTime=nullptr) |
| Process send directed interaction service call. More... | |
| virtual MAKRti::DtTransportType | getTransport (DtInteractionClassHandle theClass) |
| Get the transport for the given class. More... | |
| virtual void | setTransport (DtInteractionClassHandle theClass, MAKRti::DtTransportType theType) |
| Set the transport for the given class. More... | |
| virtual void | requestInteractionTransportationTypeChange (DtInteractionClassHandle theClass, MAKRti::DtTransportType theType) |
| Sets the transport for the given class then calls back to the federate ambassador for confirm interaction transportation type change. More... | |
| virtual void | setOrder (DtInteractionClassHandle theClass, MAKRti::DtOrderType theType) |
| Set the order for the given class. More... | |
| virtual void | subscribeInteractionClassWithRegions (DtInteractionClassHandle theClass, RTI_API::RegionHandleSet const &theRegionHandleSet, bool active) |
| Process subscribe with region. More... | |
| virtual void | unsubscribeInteractionClassWithRegions (DtInteractionClassHandle theClass, RTI_API::RegionHandleSet const &theRegionHandleSet) |
| Process unsubscribe with region. More... | |
| virtual unsigned long | send (DtInteractionClassHandle theClass, const DtPhvps ¶ms, RTI_API::RegionHandleSet const &theRegionHandleSet, RTI_API::LogicalTime const *theTime, RTI_API::VariableLengthData const &theTag, bool anonymous=false) |
| Process send interaction with region Internal RTI interactions (i.e., MOM) are sent anonymously. More... | |
| virtual int | acceptInteraction (const DtInteractionMsg &msg) |
| DtIFSPEC13. More... | |
| virtual int | subscribed (DtInteractionClassHandle handle) |
| Returns 1 if subscribed to the class, 0 otherwise Assumes handle is defined. More... | |
| virtual int | published (DtInteractionClassHandle handle) |
| Returns 1 if published the class, 0 otherwise Assumes handle is defined. More... | |
| virtual int | subscribed (DtInteractionClassInfo const *classDesc) |
| Returns 1 if subscribed to the class, 0 otherwise Assumes handle is defined. More... | |
| virtual bool | subscribed (DtObjectClassInfo const *objectClassInfo, DtInteractionClassInfo const *interactionClassInfo) |
| Returns true if subscribed directed at the given object class (universal or not); otherwise, false. More... | |
| virtual int | evaluateSubscription (DtRtiMsg const &msg) |
| Determine if message is interaction and if so, is it subscribed e.g., would be delivered if processed Returns -1 if not an interaction, 0 if no delivery expected, 1 if delivery expected. More... | |
| virtual void | sendSubscribeMsg (DtInteractionClassHandle theInter, bool isPassive, DtFederateHandle fedHandle) |
| Send subscribe interaction message. More... | |
| virtual void | sendSubscribeMsg (DtInteractionClassHandle theInter, bool isPassive, DtBitMask *sendMask=0) |
| virtual void | sendPublishMsg (DtInteractionClassHandle theInter) |
| Send publish interaction message. More... | |
| virtual void | sendUnsubscribeMsg (DtInteractionClassHandle theInter, bool forSmartForwarding=false) |
| Send unsubscribe interaction message. More... | |
| virtual void | sendUnpublishMsg (DtInteractionClassHandle theInter) |
| Send unpublish interaction message. More... | |
| virtual void | sendInteractionMsg (DtInteractionClassHandle theClass, const DtPhvps &theParams, MAKRti::DtTransportType transportType, MAKRti::DtOrderType orderType, DtRtiApiTime const *theTime, DtRtiApiTagConstRef theTag, unsigned long serialNumber, DtHandle channel, bool anonymous=false) |
| Send interaction message. More... | |
| virtual void | sendDirectedInteractionMsg (DtInteractionClassHandle interactionClass, DtRtiObject const &objectHandle, const DtPhvps ¶meters, MAKRti::DtOrderType orderType, DtRtiApiTime const *time, DtRtiApiTagConstRef userTag, unsigned long serialNumber) |
| Send interaction message. More... | |
| virtual void | checkParameterHandles (DtInteractionClassInfo *classDesc, const DtPhvps ¶mValues) |
| Check the handles in the parameter handle value pair set. More... | |
| virtual void | addPendingStartInters (DtInteractionClassHandle theClass) |
| Add a turnOn/OffInteractions call that should be made in the next tick call. More... | |
| virtual void | addPendingStopInters (DtInteractionClassHandle theClass) |
| virtual void | sendPendingStartInters () |
| Send pending turnOn/OffInteractions. More... | |
| virtual void | sendPendingStopInters () |
| virtual void | sendPendingSubscription () |
| Send/add pending subscription class retransmissions that will get sent during next tick. More... | |
| virtual void | addPendingSubscription (DtInteractionClassHandle theClass, bool isPassive, DtFederateHandle fedHandle=0) |
| virtual void | sendPendingUnsubscription () |
| Send/add pending unsubscription class retransmissions that will get sent during next tick. More... | |
| virtual void | addPendingUnsubscription (DtInteractionClassHandle theClass, bool forSmartForwarding) |
| virtual void | preTick () |
| Called before processing messages in RTI ambassador tick / evoke callbacks. More... | |
| virtual void | postTick () |
| Called after processing messages in RTI ambassador tick / evoke callbacks. More... | |
| virtual void | processResign (const DtResignMsg &msg) |
| Process resign message. More... | |
| virtual DtInteractionClassInfo * | firstSubscribedClass (DtInteractionClassInfo *classDesc) |
| Determine the most specific superclass of class (including one provided) to which we are subscribed Returns the interaction class if qualified; otherwise, nullptr. More... | |
| virtual DtInteractionClassInfo * | firstSubscribedDirectedClass (DtObjectClassInfo const *knownObjectClass, bool attributesOwned, DtInteractionClassInfo *classDesc) |
| Determine the most specific superclass of interaction class (including one provided) to which we are subscribed directed at the known object. More... | |
| virtual void | enableRelevanceAdvisorySwitch () |
| Enable/Disable interactionRelevanceAdvisorySwitch 1516 throws exception if call is redundant. More... | |
| virtual void | disableRelevanceAdvisorySwitch () |
| virtual void | setRelevanceAdvisorySwitch (bool enableSwitch) |
| Set/Get value of interactionRelevanceAdvisorySwitch. More... | |
| virtual bool | relevanceAdvisorySwitch () const |
| virtual MAKRti::DtInetAddr | localAddrMap (DtInteractionClassHandle theClass, DtHandle theChannel) |
| Map the class and channel to a multicast address. More... | |
| virtual void | checkForRegionalSubscribe (DtInteractionClassInfo &info) |
| The empty methods below are overridden in the DtInterDataDistMgr and help implement DDM. More... | |
| virtual void | checkForRegionalPublish (DtInteractionClassInfo &info) |
| When subscribing, check whether region publication info needs to get sent to other LRCs/rtiexec along with the attrs. More... | |
| virtual bool | save (DtRtiSaveFile &file) |
| Save the state information to the given file. More... | |
| virtual void | prepareToRestore () |
| Prepare the state information to be restored (i.e., clear out existing data). More... | |
| virtual bool | restore (DtRtiSaveFile &file) |
| Restore the state information from the given file. More... | |
| virtual DtFederateMgr * | federateMgr () |
| Access the federate manager. More... | |
| virtual DtFederateMgr * | federateMgr () const |
| virtual DtConnectionMgr * | connectMgr () |
| Access the connection manager. More... | |
| virtual DtConnectionMgr * | connectMgr () const |
| virtual DtRIDParameters * | params () |
| Access the RID parameters. More... | |
| virtual DtRIDParameters * | params () const |
| virtual DtFomClassMgr * | fom () |
| Access the fom manager. More... | |
| virtual DtFomClassMgr * | fom () const |
| virtual DtTimeMgr * | timeMgr () |
| Access the time Manager. More... | |
| virtual DtTimeMgr * | timeMgr () const |
Static Public Member Functions | |
| static DtInteractionMgr * | create (DtFederateMgr *fedMgrPtr) |
| A Interaction Manager instance is created and its pointer is returned. More... | |
| static void | setCreatorFunction (DtInteractionMgrCreator fn) |
| Register a creator function. More... | |
| static void | setInternalCreatorFunction (DtInteractionMgrCreator fn) |
| Register alternate internal creators. More... | |
Protected Types | |
| typedef std::map < DtInteractionClassHandle, DtBitMask * > | DtInteractionClassMaskMap |
Protected Member Functions | |
| DtInteractionMgr (DtFederateMgr *fedMgr) | |
| Constructor. More... | |
| virtual void | fastIncrementSentTally (DtInteractionClassHandle classHandle, MAKRti::DtTransportType transport) |
| virtual void | fastIncrementReceivedTally (DtInteractionClassHandle classHandle, MAKRti::DtTransportType transport) |
| virtual void | insertBitMask (DtInteractionClassMaskMap &classMaskMap, DtObjectClassHandle classHandle, DtFederateHandle fedHandle) |
| virtual DtPhvps * | getParameterValuesAndRegionHandles (const DtInteractionMsg &inter, DtObjectInstanceHandle objectHandle, DtPhvps &msgParams, DtInteractionClassInfo const **receiveClassDesc, RTI_API::RegionHandleSet ®ionHandles) |
| virtual void | processInteraction (const DtInteractionMsg &msg) |
| Message callbacks called from registered callbacks. More... | |
| virtual void | processPub (const DtPubInterMsg &msg) |
| virtual void | processUnpub (const DtUnpubInterMsg &msg) |
| virtual void | processSub (const DtSubInterMsg &msg) |
| virtual void | processUnsub (const DtUnsubInterMsg &msg) |
| virtual void | addClassMulticast (DtInteractionClassInfo *classDesc) |
| Recursively add and remove the DM multicast address of this class and all its subclasses. More... | |
| virtual void | removeClassMulticast (DtInteractionClassInfo *classDesc) |
| virtual void | calculateRegionSet (DtInteractionClassInfo const &sentClassInfo, DtInteractionClassInfo const &receivedClassInfo, unsigned long channel, RTI_API::RegionHandleSet ®ionHandles) |
| Calculate region set for processUpdate. More... | |
| virtual void | destroyInteractionLists () |
| Destroy processing lists. More... | |
Static Protected Member Functions | |
| static void | processInteraction (const DtInteractionMsg &msg, void *usr) |
| Message callback methods to register with connection manager The class instance is expected for user data. More... | |
| static void | processPub (const DtPubInterMsg &msg, void *usr) |
| static void | processUnpub (const DtUnpubInterMsg &msg, void *usr) |
| static void | processSub (const DtSubInterMsg &msg, void *usr) |
| static void | processUnsub (const DtUnsubInterMsg &msg, void *usr) |
Protected Attributes | |
| DtFederateMgr * | myFederateMgr |
| Access to the federate manager. More... | |
| bool | myIsJoined |
| Manager has performed join processing. More... | |
| MAKRti::DtList | myPendingStartIntersList |
| Pending start/stop interactions. More... | |
| MAKRti::DtList | myPendingStopIntersList |
| std::set< DtRtiMsgKind > | myConstrainedInteractionKinds |
| bool | myRelevanceSwitch |
| Indicates whether relevance advisory is enabled. More... | |
| DtInteractionClassHandleStdSet | myRetransmitSubClass |
| Set of class subscriptions to retransmit. More... | |
| DtInteractionClassMaskMap | myRetransmitSubClassMask |
| DtInteractionClassHandleStdSet | myRetransmitPassiveSubClass |
| DtInteractionClassHandleStdSet | myRetransmitUnsubClass |
| Set of class unsubscriptions to retransmit. More... | |
| DtInteractionClassHandleStdSet | myRetransmitUnsubClassForSmartForwarding |
Static Protected Attributes | |
| static DtInteractionMgrCreator | theCreator |
| The plugin creator. More... | |
| static DtInteractionMgrCreator | theInternalCreator |
| The internal creator. More... | |
Private Member Functions | |
| DtInteractionMgr (DtInteractionMgr const &other) | |
| Copy constructor not implemented – Copy not allowed! More... | |
| DtInteractionMgr & | operator= (DtInteractionMgr const &other) |
| Assignment operator not implemented – Assignment not allowed! More... | |
Instances of DtInteractionMgr manage the sending and receiving of interactions.
This class also handles subscription and publication information.
|
protected |
| typedef DtInteractionMgr*(* DtInteractionMgr::DtInteractionMgrCreator)(DtFederateMgr *fedMgr) |
Creator function.
|
protected |
Constructor.
|
virtual |
Destructor.
|
private |
Copy constructor not implemented – Copy not allowed!
|
virtual |
DtIFSPEC13.
Return true if the interaction should be processed
|
protectedvirtual |
Recursively add and remove the DM multicast address of this class and all its subclasses.
|
virtual |
Add a turnOn/OffInteractions call that should be made in the next tick call.
If relevanceAdvisorySwitch is false, it's a no-op.
|
virtual |
|
virtual |
|
virtual |
|
inlineprotectedvirtual |
Calculate region set for processUpdate.
|
inlinevirtual |
When subscribing, check whether region publication info needs to get sent to other LRCs/rtiexec along with the attrs.
|
inlinevirtual |
The empty methods below are overridden in the DtInterDataDistMgr and help implement DDM.
When publishing, check whether region subscription info needs to get sent to other LRCs/rtiexec along with the attrs
|
virtual |
Check the handles in the parameter handle value pair set.
|
virtual |
Access the connection manager.
|
virtual |
|
static |
A Interaction Manager instance is created and its pointer is returned.
A registered creator is used if present; otherwise, an internal class is instantiated.
|
protectedvirtual |
Destroy processing lists.
|
virtual |
|
virtual |
Enable/Disable interactionRelevanceAdvisorySwitch 1516 throws exception if call is redundant.
|
virtual |
Determine if message is interaction and if so, is it subscribed e.g., would be delivered if processed Returns -1 if not an interaction, 0 if no delivery expected, 1 if delivery expected.
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
Access the federate manager.
|
virtual |
|
virtual |
Determine the most specific superclass of class (including one provided) to which we are subscribed Returns the interaction class if qualified; otherwise, nullptr.
|
virtual |
Determine the most specific superclass of interaction class (including one provided) to which we are subscribed directed at the known object.
Subscription does not qualify if subscription is not universal and no attributes are owned. Returns the interaction class if qualified; otherwise, nullptr
|
virtual |
Access the fom manager.
|
virtual |
|
protectedvirtual |
|
virtual |
Get the transport for the given class.
|
protectedvirtual |
|
virtual |
Return bool: Was the post join initialization performed?
|
virtual |
Map the class and channel to a multicast address.
|
private |
Assignment operator not implemented – Assignment not allowed!
|
virtual |
Access the RID parameters.
|
virtual |
|
virtual |
Post join processing. All managers shall have been created and initialized.
|
virtual |
Called after processing messages in RTI ambassador tick / evoke callbacks.
|
virtual |
Prepare the state information to be restored (i.e., clear out existing data).
|
virtual |
Called before processing messages in RTI ambassador tick / evoke callbacks.
|
protectedvirtual |
Message callbacks called from registered callbacks.
|
staticprotected |
Message callback methods to register with connection manager The class instance is expected for user data.
|
protectedvirtual |
|
staticprotected |
|
virtual |
Process resign message.
|
protectedvirtual |
|
staticprotected |
|
protectedvirtual |
|
staticprotected |
|
protectedvirtual |
|
staticprotected |
|
virtual |
Process publish service call.
|
virtual |
Returns 1 if published the class, 0 otherwise Assumes handle is defined.
|
virtual |
|
protectedvirtual |
|
virtual |
Sets the transport for the given class then calls back to the federate ambassador for confirm interaction transportation type change.
|
virtual |
Restore the state information from the given file.
|
virtual |
Save the state information to the given file.
|
virtual |
Process send interaction service call.
|
inlinevirtual |
Process send interaction with region Internal RTI interactions (i.e., MOM) are sent anonymously.
|
virtual |
Process send directed interaction service call.
|
virtual |
Send interaction message.
|
virtual |
Send interaction message.
|
virtual |
Send pending turnOn/OffInteractions.
|
virtual |
|
virtual |
Send/add pending subscription class retransmissions that will get sent during next tick.
|
virtual |
Send/add pending unsubscription class retransmissions that will get sent during next tick.
|
virtual |
Send publish interaction message.
|
virtual |
Send subscribe interaction message.
|
virtual |
|
virtual |
Send unpublish interaction message.
|
virtual |
Send unsubscribe interaction message.
|
static |
Register a creator function.
When set, it will be used to create the Interaction Manager.
|
static |
Register alternate internal creators.
The RTI proper uses this function to choose from various internal implementations. This function should not be used by plugins as the assignment may be overridden internally. Use the setCreatorFunction.
|
virtual |
Set the order for the given class.
|
virtual |
Set/Get value of interactionRelevanceAdvisorySwitch.
|
virtual |
Set the transport for the given class.
|
virtual |
Process subscribe service call.
|
virtual |
Returns 1 if subscribed to the class, 0 otherwise Assumes handle is defined.
|
virtual |
Returns 1 if subscribed to the class, 0 otherwise Assumes handle is defined.
|
virtual |
Returns true if subscribed directed at the given object class (universal or not); otherwise, false.
|
inlinevirtual |
Process subscribe with region.
|
virtual |
Access the time Manager.
|
virtual |
|
virtual |
Process unpublish service call.
|
virtual |
Process unsubscribe service call.
|
inlinevirtual |
Process unsubscribe with region.
|
protected |
|
protected |
Access to the federate manager.
|
protected |
Manager has performed join processing.
|
protected |
Pending start/stop interactions.
|
protected |
|
protected |
Indicates whether relevance advisory is enabled.
|
protected |
|
protected |
Set of class subscriptions to retransmit.
|
protected |
|
protected |
Set of class unsubscriptions to retransmit.
|
protected |
|
staticprotected |
The plugin creator.
|
staticprotected |
The internal creator.