MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtInteractionMgr Class Reference

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 perfomerd? 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 &params, RTI::FedTime const *theTime, const char *theTag, DtHandle channel, bool anonymous=false)
 Process send 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 setOrder (DtInteractionClassHandle theClass, MAKRti::DtOrderType theType)
 Set the order for the given class. More...
 
virtual int acceptInteraction (const DtInteractionMsg &msg)
 DDM. 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 *classDesc)
 Returns 1 if subscribed to the class, 0 otherwise Assumes handle is defined. 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, RTI::FedTime const *theTime, const char *theTag, unsigned long serialNumber, DtHandle channel, bool anonymous=false)
 Send interaction message. 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 DtInteractionClassInfofirstSubscribedClass (DtInteractionClassInfo *classDesc)
 Returns most specific superclass of class, to which we are subscribed. 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 ()
 
virtual MAKRti::DtInetAddr localAddrMap (DtInteractionClassHandle theClass, DtHandle theChannel)
 Map the class and channel to a multicast address. 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 DtFederateMgrfederateMgr ()
 Access the federate manager. More...
 
virtual DtFederateMgrfederateMgr () const
 
virtual DtConnectionMgrconnectMgr ()
 Access the connection manager. More...
 
virtual DtConnectionMgrconnectMgr () const
 
virtual DtRIDParametersparams ()
 Access the RID parameters. More...
 
virtual DtRIDParametersparams () const
 
virtual DtFomClassMgrfom ()
 Access the fom manager. More...
 
virtual DtFomClassMgrfom () const
 

Static Public Member Functions

static DtInteractionMgrcreate (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 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 destroyInteractionLists ()
 DDM. 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

DtFederateMgrmyFederateMgr
 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< DtRtiMsgKindmyConstrainedInteractionKinds
 
bool myRelevanceSwitch
 Indicates whether relevance advisory is enabled. More...
 
std::set
< DtInteractionClassHandle
myRetransmitSubClass
 Set of class subscriptions to retransmit. More...
 
DtInteractionClassMaskMap myRetransmitSubClassMask
 
std::set
< DtInteractionClassHandle
myRetransmitPassiveSubClass
 
std::set
< DtInteractionClassHandle
myRetransmitUnsubClass
 Set of class unsubscriptions to retransmit. More...
 
std::set
< DtInteractionClassHandle
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...
 
DtInteractionMgroperator= (DtInteractionMgr const &other)
 Assignment operator not implemented – Assignment not allowed! More...
 

Detailed Description

Instances of DtInteractionMgr manage the sending and receiving of interactions.

This class also handles subscription and publication information.

Member Typedef Documentation

typedef DtInteractionMgr*(* DtInteractionMgr::DtInteractionMgrCreator)(DtFederateMgr *fedMgr)

Creator function.

Constructor & Destructor Documentation

DtInteractionMgr::DtInteractionMgr ( DtFederateMgr fedMgr)
protected

Constructor.

virtual DtInteractionMgr::~DtInteractionMgr ( )
virtual

Destructor.

DtInteractionMgr::DtInteractionMgr ( DtInteractionMgr const &  other)
private

Copy constructor not implemented – Copy not allowed!

Member Function Documentation

virtual int DtInteractionMgr::acceptInteraction ( const DtInteractionMsg msg)
virtual

DDM.

Return true if the interaction should be processed

virtual void DtInteractionMgr::addClassMulticast ( DtInteractionClassInfo classDesc)
protectedvirtual

Recursively add and remove the DM multicast address of this class and all its subclasses.

virtual void DtInteractionMgr::addPendingStartInters ( DtInteractionClassHandle  theClass)
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 void DtInteractionMgr::addPendingStopInters ( DtInteractionClassHandle  theClass)
virtual
virtual void DtInteractionMgr::addPendingSubscription ( DtInteractionClassHandle  theClass,
bool  isPassive,
DtFederateHandle  fedHandle = 0 
)
virtual
virtual void DtInteractionMgr::addPendingUnsubscription ( DtInteractionClassHandle  theClass,
bool  forSmartForwarding 
)
virtual
virtual DtConnectionMgr* DtInteractionMgr::connectMgr ( )
virtual

Access the connection manager.

virtual DtConnectionMgr* DtInteractionMgr::connectMgr ( ) const
virtual
static DtInteractionMgr* DtInteractionMgr::create ( DtFederateMgr fedMgrPtr)
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.

virtual void DtInteractionMgr::destroyInteractionLists ( )
protectedvirtual

DDM.

Destroy processing lists

virtual void DtInteractionMgr::disableRelevanceAdvisorySwitch ( )
virtual
virtual void DtInteractionMgr::enableRelevanceAdvisorySwitch ( )
virtual

Enable/Disable interactionRelevanceAdvisorySwitch 1516 throws exception if call is redundant.

virtual int DtInteractionMgr::evaluateSubscription ( DtRtiMsg const &  msg)
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.

virtual void DtInteractionMgr::fastIncrementReceivedTally ( DtInteractionClassHandle  classHandle,
MAKRti::DtTransportType  transport 
)
protectedvirtual
virtual void DtInteractionMgr::fastIncrementSentTally ( DtInteractionClassHandle  classHandle,
MAKRti::DtTransportType  transport 
)
protectedvirtual
virtual DtFederateMgr* DtInteractionMgr::federateMgr ( )
virtual

Access the federate manager.

virtual DtFederateMgr* DtInteractionMgr::federateMgr ( ) const
virtual
virtual DtInteractionClassInfo* DtInteractionMgr::firstSubscribedClass ( DtInteractionClassInfo classDesc)
virtual

Returns most specific superclass of class, to which we are subscribed.

virtual DtFomClassMgr* DtInteractionMgr::fom ( )
virtual

Access the fom manager.

virtual DtFomClassMgr* DtInteractionMgr::fom ( ) const
virtual
virtual MAKRti::DtTransportType DtInteractionMgr::getTransport ( DtInteractionClassHandle  theClass)
virtual

Get the transport for the given class.

virtual void DtInteractionMgr::insertBitMask ( DtInteractionClassMaskMap classMaskMap,
DtObjectClassHandle  classHandle,
DtFederateHandle  fedHandle 
)
protectedvirtual
virtual bool DtInteractionMgr::isPostJoined ( ) const
virtual

Return bool: Was the post join initialization perfomerd?

virtual MAKRti::DtInetAddr DtInteractionMgr::localAddrMap ( DtInteractionClassHandle  theClass,
DtHandle  theChannel 
)
virtual

Map the class and channel to a multicast address.

DtInteractionMgr& DtInteractionMgr::operator= ( DtInteractionMgr const &  other)
private

Assignment operator not implemented – Assignment not allowed!

virtual DtRIDParameters* DtInteractionMgr::params ( )
virtual

Access the RID parameters.

virtual DtRIDParameters* DtInteractionMgr::params ( ) const
virtual
virtual void DtInteractionMgr::postJoinInit ( )
virtual

Post join processing. All managers shall have been created and initialized.

virtual void DtInteractionMgr::postTick ( )
virtual

Called after processing messages in RTI ambassador tick / evoke callbacks.

virtual void DtInteractionMgr::prepareToRestore ( )
virtual

Prepare the state information to be restored (i.e., clear out existing data).

virtual void DtInteractionMgr::preTick ( )
virtual

Called before processing messages in RTI ambassador tick / evoke callbacks.

virtual void DtInteractionMgr::processInteraction ( const DtInteractionMsg msg)
protectedvirtual

Message callbacks called from registered callbacks.

static void DtInteractionMgr::processInteraction ( const DtInteractionMsg msg,
void *  usr 
)
staticprotected

Message callback methods to register with connection manager The class instance is expected for user data.

virtual void DtInteractionMgr::processPub ( const DtPubInterMsg msg)
protectedvirtual
static void DtInteractionMgr::processPub ( const DtPubInterMsg msg,
void *  usr 
)
staticprotected
virtual void DtInteractionMgr::processResign ( const DtResignMsg msg)
virtual

Process resign message.

virtual void DtInteractionMgr::processSub ( const DtSubInterMsg msg)
protectedvirtual
static void DtInteractionMgr::processSub ( const DtSubInterMsg msg,
void *  usr 
)
staticprotected
virtual void DtInteractionMgr::processUnpub ( const DtUnpubInterMsg msg)
protectedvirtual
static void DtInteractionMgr::processUnpub ( const DtUnpubInterMsg msg,
void *  usr 
)
staticprotected
virtual void DtInteractionMgr::processUnsub ( const DtUnsubInterMsg msg)
protectedvirtual
static void DtInteractionMgr::processUnsub ( const DtUnsubInterMsg msg,
void *  usr 
)
staticprotected
virtual void DtInteractionMgr::publish ( DtInteractionClassHandle  theInteraction)
virtual

Process publish service call.

virtual int DtInteractionMgr::published ( DtInteractionClassHandle  handle)
virtual

Returns 1 if published the class, 0 otherwise Assumes handle is defined.

virtual bool DtInteractionMgr::relevanceAdvisorySwitch ( )
virtual
virtual void DtInteractionMgr::removeClassMulticast ( DtInteractionClassInfo classDesc)
protectedvirtual
virtual bool DtInteractionMgr::restore ( DtRtiSaveFile file)
virtual

Restore the state information from the given file.

virtual bool DtInteractionMgr::save ( DtRtiSaveFile file)
virtual

Save the state information to the given file.

virtual unsigned long DtInteractionMgr::send ( DtInteractionClassHandle  theInteraction,
const DtPhvps &  params,
RTI::FedTime const *  theTime,
const char *  theTag,
DtHandle  channel,
bool  anonymous = false 
)
virtual

Process send interaction service call.

virtual void DtInteractionMgr::sendInteractionMsg ( DtInteractionClassHandle  theClass,
const DtPhvps &  theParams,
MAKRti::DtTransportType  transportType,
MAKRti::DtOrderType  orderType,
RTI::FedTime const *  theTime,
const char *  theTag,
unsigned long  serialNumber,
DtHandle  channel,
bool  anonymous = false 
)
virtual

Send interaction message.

virtual void DtInteractionMgr::sendPendingStartInters ( )
virtual

Send pending turnOn/OffInteractions.

virtual void DtInteractionMgr::sendPendingStopInters ( )
virtual
virtual void DtInteractionMgr::sendPendingSubscription ( )
virtual

Send/add pending subscription class retransmissions that will get sent during next tick.

virtual void DtInteractionMgr::sendPendingUnsubscription ( )
virtual

Send/add pending unsubscription class retransmissions that will get sent during next tick.

virtual void DtInteractionMgr::sendPublishMsg ( DtInteractionClassHandle  theInter)
virtual

Send publish interaction message.

virtual void DtInteractionMgr::sendSubscribeMsg ( DtInteractionClassHandle  theInter,
bool  isPassive,
DtFederateHandle  fedHandle 
)
virtual

Send subscribe interaction message.

virtual void DtInteractionMgr::sendSubscribeMsg ( DtInteractionClassHandle  theInter,
bool  isPassive,
DtBitMask sendMask = 0 
)
virtual
virtual void DtInteractionMgr::sendUnpublishMsg ( DtInteractionClassHandle  theInter)
virtual

Send unpublish interaction message.

virtual void DtInteractionMgr::sendUnsubscribeMsg ( DtInteractionClassHandle  theInter,
bool  forSmartForwarding = false 
)
virtual

Send unsubscribe interaction message.

static void DtInteractionMgr::setCreatorFunction ( DtInteractionMgrCreator  fn)
static

Register a creator function.

When set, it will be used to create the Interaction Manager.

static void DtInteractionMgr::setInternalCreatorFunction ( DtInteractionMgrCreator  fn)
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 void DtInteractionMgr::setOrder ( DtInteractionClassHandle  theClass,
MAKRti::DtOrderType  theType 
)
virtual

Set the order for the given class.

virtual void DtInteractionMgr::setRelevanceAdvisorySwitch ( bool  enableSwitch)
virtual

Set/Get value of interactionRelevanceAdvisorySwitch.

virtual void DtInteractionMgr::setTransport ( DtInteractionClassHandle  theClass,
MAKRti::DtTransportType  theType 
)
virtual

Set the transport for the given class.

virtual void DtInteractionMgr::subscribe ( DtInteractionClassHandle  theClass,
bool  active 
)
virtual

Process subscribe service call.

virtual int DtInteractionMgr::subscribed ( DtInteractionClassHandle  handle)
virtual

Returns 1 if subscribed to the class, 0 otherwise Assumes handle is defined.

virtual int DtInteractionMgr::subscribed ( DtInteractionClassInfo classDesc)
virtual

Returns 1 if subscribed to the class, 0 otherwise Assumes handle is defined.

virtual void DtInteractionMgr::unpublish ( DtInteractionClassHandle  theInteraction)
virtual

Process unpublish service call.

virtual void DtInteractionMgr::unsubscribe ( DtInteractionClassHandle  theClass)
virtual

Process unsubscribe service call.

Member Data Documentation

std::set<DtRtiMsgKind> DtInteractionMgr::myConstrainedInteractionKinds
protected
DtFederateMgr* DtInteractionMgr::myFederateMgr
protected

Access to the federate manager.

bool DtInteractionMgr::myIsJoined
protected

Manager has performed join processing.

MAKRti::DtList DtInteractionMgr::myPendingStartIntersList
protected

Pending start/stop interactions.

MAKRti::DtList DtInteractionMgr::myPendingStopIntersList
protected
bool DtInteractionMgr::myRelevanceSwitch
protected

Indicates whether relevance advisory is enabled.

std::set<DtInteractionClassHandle> DtInteractionMgr::myRetransmitPassiveSubClass
protected
std::set<DtInteractionClassHandle> DtInteractionMgr::myRetransmitSubClass
protected

Set of class subscriptions to retransmit.

DtInteractionClassMaskMap DtInteractionMgr::myRetransmitSubClassMask
protected
std::set<DtInteractionClassHandle> DtInteractionMgr::myRetransmitUnsubClass
protected

Set of class unsubscriptions to retransmit.

std::set<DtInteractionClassHandle> DtInteractionMgr::myRetransmitUnsubClassForSmartForwarding
protected
DtInteractionMgrCreator DtInteractionMgr::theCreator
staticprotected

The plugin creator.

DtInteractionMgrCreator DtInteractionMgr::theInternalCreator
staticprotected

The internal creator.


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

Document ID: Generated on Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)