MAK RTIspy API Documentation for HLA 1.3
 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 | Protected Attributes | Static Protected Attributes | Private Member Functions
DtConnectionMgr Class Reference

Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communicate over the network or communicate with the LRC application (using the federate ambassador pointer). More...

+ Inheritance diagram for DtConnectionMgr:
+ Collaboration diagram for DtConnectionMgr:

Public Types

typedef DtConnectionMgr *(* DtConnectionMgrCreator )(DtRIDParameters *p, bool isFederate, std::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
 Connection Manager Creator. More...
 

Public Member Functions

virtual ~DtConnectionMgr ()
 Destructor. More...
 
virtual int init (DtRIDParameters *params)
 Initialize the RTI's exercise parameters and connections Users who wish to override the MAK RTI's network connections should override this function or initConnections() More...
 
virtual void initParams (DtRIDParameters *params)
 Initialize the parameters used by the connection manager. More...
 
virtual void enableSmartForwarding (bool enableSmartForwarding, bool enableInternalMessageSmartForwarding, int maxNumFederates)
 Enables or disables smart forwarding. More...
 
virtual DtRIDParametersparams ()
 Get a pointer to the RID parameters. More...
 
virtual void setFederateMgr (DtFederateMgr *fedMgrPtr)
 Set the federate manager. More...
 
virtual void shutdown ()
 Request shutdown of communication activities. More...
 
virtual bool isShuttingDown ()
 Shutdown acknowledged. More...
 
virtual void setFederateAmbassador (RTI_API::FederateAmbassador *fedAmb)
 Set the federate ambassador. More...
 
virtual
RTI_API::AuthorizationResult::Code 
authorizationResult () const
 Connection is authorized? More...
 
virtual const MAKRti::DtString & authorizationMessage () const
 Authorization message. More...
 
virtual bool authorizationIsEnabled () const
 Return true if authorization is enabled. More...
 
virtual bool isAuthorized () const
 Return true if authorized. More...
 
virtual int send (const DtRtiMsg &msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny())
 Sending. More...
 
virtual int sendStamped (const DtRtiMsg &msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &=MAKRti::DtInetAddr::inaddrAny())
 Send a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here. More...
 
virtual int sendStampedAnonymous (const DtRtiMsg &msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny())
 Send a message stamped with fedEx name, but not federate ID Does not make retraction record of sent messages. More...
 
virtual int sendAndDelete (DtRtiMsg *msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny())
 Send a message and delete the message after it has been sent Returns the size of the data sent. More...
 
virtual int sendDirectedAndDelete (DtRtiMsg *msg, MAKRti::DtTransportType transport, DtFederateHandle fedHandle, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny())
 Send and delete a message stamped with federate ID These messages are sent to a specific entity by using internal smart forwarding if enabled. More...
 
virtual int sendStampedAndDelete (DtRtiMsg *msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &=MAKRti::DtInetAddr::inaddrAny())
 Send and delete a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here. More...
 
virtual void sendLoopback (DtRtiMsg *msg)
 Send a message to be processed by this federate. More...
 
virtual bool flush ()
 Send buffered messages. More...
 
virtual bool drainBacklog (MAKRti::DtTime timeout=0.0)
 Attempts to flush backlogged messages repeatedly until either all messages are sent or the timeout expires. More...
 
virtual void activateTransmitDelay ()
 Activate a delay timer (based on RID) used by managers to control transmission of internal state Expired delays disable activation for current tick. More...
 
virtual bool delayTransmit () const
 Return true if retransmission of internal state should be delayed. More...
 
virtual void testTransmitDelay ()
 Test if retransmit delay time has expired. More...
 
virtual void activateAutoProvideDelay ()
 Activate a delay timer (based on RID) used by managers to control timing for autoprovide callbacks Expired delays disable activation for current tick. More...
 
virtual bool delayAutoProvide () const
 Return true if autoprovides should be delayed. More...
 
bool allProvideUpdateRequestsDelayed () const
 Return true if all provide update calls should be delayed (not just auto provide). More...
 
virtual void testAutoProvideDelay ()
 Test if autoprovide delay time has expired. More...
 
virtual void processThrottledMessages ()
 Process messages in throttle queue that are being sent at specified rate. More...
 
virtual void flushThrottledMessages ()
 Flush messages in throttle queue. More...
 
virtual unsigned long incrementServiceCallCount () const
 Increment a (mutable) counter to identify the service call being processed. More...
 
virtual unsigned long serviceCallCount () const
 Return service call counter. More...
 
virtual bool tick ()
 Receiving. More...
 
virtual bool processConnectionsInCallback ()
 
virtual bool processConnection (DtRtiConnection *conn, MAKRti::DtTransportType trans)
 Read from the given connection and process the message (if received) Return boolean: message was received? (i.e. More...
 
virtual bool processConnections ()
 Check all the connections and process any incomming messages Return boolean: message was received? (i.e. More...
 
virtual DtRtiMsggetMessage ()
 Get a message if one exists Message must be destroyed by caller. More...
 
virtual void updateBufferSizes ()
 Update Buffer sizes from Rid params object. More...
 
virtual DtNetReadStatus handleMsg (DtRtiMsg &msg)
 Handle this message by either processing it or queuing it if save pending. More...
 
virtual DtNetReadStatus processMsg (const DtRtiMsg &msg)
 this function applies the callbacks to the message More...
 
virtual DtNetReadStatus momProcessMsg (const DtRtiMsg &msg)
 apply MOM callbacks to message More...
 
DtFederateMgrfedMgr ()
 The federate manager. More...
 
DtPartnerMgrpartnerMgr ()
 Partner manager. More...
 
virtual int readFileDescriptor (DtRtiApiTransportationType transport)
 Returns a file descriptor on which data will be present for the given transport type whenever there is incoming data waiting to be read. More...
 
virtual MAKRti::DtTransportType internalTransportType () const
 Returns the TransportType associated for the internal connection. More...
 
virtual bool setupSelectParams (DtSelectParam *params)
 adds Read File descriptors to a DtSelectParams Return boolean: file descriptor was added? In case no descriptors have been added, should sleep instead of select as there will be no input. More...
 
virtual bool hasTransport (MAKRti::DtTransportType trans)
 returns true if the specified transport type is available More...
 
virtual DtRtiMsgcreate (DtRtiMsgKind kind)
 Request the RTI message factory for a msg. More...
 
virtual void setMsgFactory (DtRtiMsgFactory *fact)
 Get/Set the message factory. More...
 
virtual DtRtiMsgFactorymsgFactory () const
 
virtual void forceDropMulticastGroup (const MAKRti::DtInetAddr &addr, const MAKRti::DtInetAddr &netInterface=MAKRti::DtInetAddr::inaddrAny())
 Override listen count and force drop multicast address. More...
 
virtual void connectFederation (DtLogicalTimeFactory *logicalTimeFactoryPtr, MAKRti::DtString fedExName, DtFederateHandle federateHandle, int fedExHandle)
 The LRC associates its federation information with its network connections. More...
 
virtual void prepareToDisconnect ()
 Make preparations to disconnect. More...
 
virtual void disconnectFederation ()
 The LRC disassociates its connections from the federation. More...
 
virtual
RTI_API::FederateAmbassador * 
fedAmb () const
 Return pointer to Federate Ambassador. More...
 
virtual void addFedAmbWrapper (MAKRti::DtString const &name, DtFedAmbWrapper *fedAmb)
 Register a Federate Wrapper with the RTI A federate wrapper allows your plugin to monitor any RTI invoked services. More...
 
virtual bool addFedAmbWrapperAtFront (MAKRti::DtString const &name, DtFedAmbWrapper *fedAmb)
 When the fedAmb Wrapper is installed make certain that this particular wrapper is the first to process the msg. More...
 
virtual DtFedAmbWrapperremoveFedAmbWrapper (MAKRti::DtString const &name)
 Remove federate wrapper. More...
 
virtual unsigned long connectionId () const
 Return connection ID. More...
 
virtual DtFederateHandle fedHandle () const
 Return federate handle. More...
 
virtual unsigned long fedExHandle () const
 Return federation execution handle. More...
 
virtual const MAKRti::DtString & fedExName () const
 Return federation execution name. More...
 
virtual void setFederateHandle (DtFederateHandle handle)
 set federate handle ( this is used by restore and should not be called otherwise ) More...
 
virtual RTI_API::FederateHandle apiFederateHandle (DtFederateHandle handle) const
 Return the API federate handle encoded from the given internal handle. More...
 
virtual RTI_API::FederateHandle apiFederateHandle () const
 Return the API federate handle encoded from this federate's handle. More...
 
virtual DtLogicalTimeFactorylogicalTimeFactory (DtFederationHandle federationHandle=0) const
 Get the factory for the given federation that can create logical time/interval instances. More...
 
virtual void addLogicalTimeFactory (DtFederationHandle federationHandle, DtLogicalTimeFactory *timeFactory)
 Add the factory for the given federation that can create logical time/interval instances. More...
 
virtual void removeLogicalTimeFactory (DtFederationHandle federationHandle)
 Remove the factory for the given federation that can create logical time/interval instances. More...
 
virtual DtRtiMsgQueuemsgQueue ()
 Set/Get the time managed message queue. More...
 
virtual void setMsgQueue (DtRtiMsgQueue *msgQueuePtr)
 
virtual DtRetractInfoListretractList ()
 Set/Get the time managed retract list. More...
 
virtual void setRetractList (DtRetractInfoList *listPtr)
 
virtual bool wait (MAKRti::DtTime periodInSeconds, bool unlockWhileWaiting=false)
 Wait for data to be ready or the given period of time to expire Return boolean: data is ready for reading? More...
 
virtual void yield ()
 Yield processing to allow more data to arrive. More...
 
virtual bool saveInProgress () const
 Set/Get the flag indicating whether a save is in progress Unless a message is marked safe to process during a save a received message is queued for later processing. More...
 
virtual void setSaveInProgress (bool saveIsInProgress)
 
virtual bool restoreInProgress () const
 Set/Get the flag indicating whether a restore is in progress Unless a message is marked safe to process during a save a received message is queued for later processing. More...
 
virtual void setRestoreInProgress (bool saveIsInProgress)
 
virtual bool saveRestoreInProgress () const
 Return bool: Is save or restore in progress. More...
 
virtual void setMetadataControl (DtMetadataType type, bool onOff)
 Set/Get metadata control indicators. More...
 
virtual bool isMetadataEnabled (DtMetadataType type)
 
virtual void sendShutdownForwarderMsg ()
 Called by the rtiExec when it is exiting, only if it started this forwarder. More...
 
virtual unsigned long sequenceNumber () const
 Get the next sequence number. More...
 
virtual void incrementSequenceNumber ()
 Increment the sequence number. More...
 
virtual bool connectionLost ()
 Indicates that the connection of the RTI has been lost. More...
 
virtual void resetConnectionLost ()
 Status Reset For Connection Lost Flag *Should be called after the connection loss has been handled. More...
 
virtual int sendDirectedStampedAndDelete (DtRtiMsg *msg, MAKRti::DtTransportType transport, DtFederateHandle fedHandle, const MAKRti::DtInetAddr &=MAKRti::DtInetAddr::inaddrAny())
 
virtual int sendDirectedStampedAndDelete (DtRtiMsg *msg, MAKRti::DtTransportType transport, DtBitMask *sendMask, const MAKRti::DtInetAddr &=MAKRti::DtInetAddr::inaddrAny())
 
virtual int sendStampedAnonymousAndDelete (DtRtiMsg *msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny())
 
virtual int sendDirectedStampedAnonymousAndDelete (DtRtiMsg *msg, MAKRti::DtTransportType transport, DtFederateHandle fedHandle, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny())
 
virtual void setProcessingTick (bool processingTick)
 Set/Get tick processing state. More...
 
virtual bool processingTick () const
 Set/Get tick processing state. More...
 
virtual void setEvokingCallbacks (bool evokingCbs)
 Set/Get the evoke callbacks state. More...
 
virtual bool evokingCallbacks () const
 Set/Get the evoke callbacks state. More...
 
virtual void addPendingMsg (DtRtiMsg *msg)
 Add/get/process a pending message Messages will be processed during the next tick. More...
 
virtual bool processPendingMsg ()
 Add/get/process a pending message Messages will be processed during the next tick. More...
 
virtual DtRtiMsgnextPendingMsg ()
 Add/get/process a pending message Messages will be processed during the next tick. More...
 
virtual void emptyPendingMsgList ()
 Add/get/process a pending message Messages will be processed during the next tick. More...
 
bool isPendingMsgQueueEmpty ()
 Add/get/process a pending message Messages will be processed during the next tick. More...
 
virtual void addMsgCallback (DtRtiMsgKind msgKind, DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false)
 Message Callbacks These callback functions operate on all of the connections. More...
 
virtual void removeMsgCallback (DtRtiMsgKind msgKind, DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false)
 Message Callbacks These callback functions operate on all of the connections. More...
 
virtual void addWildcardMsgCallback (DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false)
 Message Callbacks These callback functions operate on all of the connections. More...
 
virtual void removeWildcardMsgCallback (DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false)
 Message Callbacks These callback functions operate on all of the connections. More...
 
Connections

Get pointers to the individual connections.

These should be avoided by classes outside of the connectionMgr. For example in a threaded configuration calling the connection directly can cause improper behavior.

virtual DtRtiConnectionreliableConn () const
 Returns the connection created by createTcpConn(). More...
 
virtual DtRtiConnectionbestEffortConn () const
 Returns the connection created by createBestEffortConn(). More...
 
virtual void listenToMulticastGroup (const MAKRti::DtInetAddr &addr, const MAKRti::DtInetAddr &netInterface=MAKRti::DtInetAddr::inaddrAny())
 Add/Drop multicast groups from the best effort connection Listens are accumulated and drops decrement. More...
 
virtual void dropMulticastGroup (const MAKRti::DtInetAddr &addr, const MAKRti::DtInetAddr &netInterface=MAKRti::DtInetAddr::inaddrAny())
 Add/Drop multicast groups from the best effort connection Listens are accumulated and drops decrement. More...
 
AsynchronousLocks

When asynchronous callbacks are enabled, these calls manipulate a mutex for synchronizing access to the RTI Ambassador and the Federate Ambassador.

The mutex shall be locked upon entering an RTI Ambassador call and unlocked on exit. It shall also be locked prior to processing RTI messages and unlocked when processing completes. Asynchronous callback mode supports asynchronous message processing that can generate asynchronous Federate Ambassador callbacks and also asynchronous access to RTI Ambassador by separate federate threads.

virtual bool lockServiceCall ()
 Called by asynchronous processing thread to gain mutually exclusive access to RTI managers. More...
 
virtual void unlockServiceCall ()
 Called by asychronous processing thread to release mutually exclusive access to RTI managers. More...
 
virtual bool serviceCallLocked ()
 Called by RTI Ambassador services query if mutex was set using lockServiceCall() More...
 
virtual bool enterServiceCall ()
 Called by RTI Ambassador services to gain mutually exclusive access to RTI managers. More...
 
virtual void exitServiceCall ()
 Called by RTI Ambassador services to release mutually exclusive access to RTI managers. More...
 
virtual bool inServiceCall ()
 Called by RTI Ambassador services query if mutex was set using enterServiceCall() More...
 

Static Public Member Functions

static DtConnectionMgrcreate (DtRIDParameters *p, bool isFederate=false, std::shared_ptr< DtRtiAssistantLrcClient > assistantClient=std::shared_ptr< DtRtiAssistantLrcClient >())
 A Connection Manager instance is created, initialized and its pointer is returned. More...
 
static void setCreatorFunction (DtConnectionMgrCreator fn)
 Register a creator function. More...
 
static void setInternalCreatorFunction (DtConnectionMgrCreator fn)
 Register alternate internal creators. More...
 

Protected Types

typedef std::list
< DtRtiConnection * > 
DtRtiConnectionList
 List of all reliable connections (for forwarder load balancing) More...
 

Protected Member Functions

 DtConnectionMgr (DtRIDParameters *params, bool isFederate=false, std::shared_ptr< DtRtiAssistantLrcClient > assistantClient=std::shared_ptr< DtRtiAssistantLrcClient >())
 Constructor is performed through create. More...
 
virtual bool doWait (MAKRti::DtTime period)
 perform actual wait. Called by wait More...
 
virtual int initConnections ()
 Initialize the RTI's exercise connections Users who wish to override the MAK RTI's network connections should override this function. More...
 
virtual bool createBestEffortConn ()
 Create best effort connection; Returns true if successful Could be that it already exist in which case it is still used. More...
 
virtual void destroyBestEffortConn ()
 Destroy best effort connection. More...
 
virtual bool createRelConn ()
 Create reliable connection; Returns true if successful. More...
 
virtual void destroyRelConn ()
 Destroy reliable connection. More...
 
virtual unsigned int createAncillaryRelConns ()
 Create ancillary reliable connections; Returns count of successful connections. More...
 
virtual void destroyAncillaryRelConn (DtRtiConnection *conn)
 Destroy the given ancillary reliable connection. More...
 
virtual void destroyAncillaryRelConns ()
 Destroy ancillary reliable connections. More...
 
virtual unsigned int ancillaryReliableConnsCount () const
 Report number of ancillary reliable connections successfully established. More...
 
virtual bool checkRelConn ()
 Check the reliable connection status. Attempt to reconnect if connection has been lost. More...
 
virtual bool repairFederationConnection ()
 Attempt to re-establish a broken connection to the federation Returns true if successful. More...
 
virtual bool doConnectionRepair ()
 Do the connection repair. More...
 
virtual void processReadResult (int readError)
 Process read result to print error diagnostics for example. More...
 
virtual int sendStampedUtilityFunction (DtRtiMsg *msg, MAKRti::DtTransportType transport, bool performDelete, bool isAnonymous, const MAKRti::DtInetAddr &addr)
 Called by sendStamped, sendStampedAndDelete, sendAnonymousStamped, etc. More...
 
virtual void handleConnectMessage (const DtConnectMsg *message)
 Handle the connect message from the forwarder. More...
 
virtual void handleAuthorizationMessage (const DtAuthorizationResultMsg *resultMessage)
 Handle the authorization result message from the forwarder. More...
 

Protected Attributes

DtRtiMsgFactorymyMsgFactory
 The message factory. More...
 
DtRtiConnectionmyBestEffortConn
 The best effort connection. More...
 
DtRtiConnectionmyPrimaryReliableConn
 The primary reliable connection. More...
 
DtRtiConnectionList myReliableConns
 
DtRIDParametersmyParams
 The RTI initialization parameters. More...
 
DtFederateMgrmyFedMgr
 The federate manager. More...
 
std::map< MAKRti::DtInetAddr,
DtMulticastEntry * > 
myMulticastGroups
 LRC listening to these multicast groups. More...
 
DtFedAmbWrapperChain myFedAmbChain
 Chain of Federate Ambassador Wrappers. More...
 
DtDfltMsgFactory myDfltMsgFactory
 Default message factory. More...
 
DtRtiMsgCbMgr myMsgCbMgr
 Message callback manager. More...
 
DtRtiMsgCbMgr myMomMsgCbMgr
 MOM message callback manager. More...
 
MAKRti::DtTransportType myInternalTransportType
 Transport type used for internal messages. More...
 
bool myAddTransportTypeMetadata
 Metadata control indicators. More...
 
bool myAddMcastMetadata
 
std::map< DtFederationHandle,
DtLogicalTimeFactory * > 
myLogicalTimeFactories
 Factories for creating logical time instances. More...
 
DtRtiMsgQueuemyMsgQueue
 Message queue. More...
 
DtRetractInfoListmyRetractList
 Message retractions. More...
 
DtMessageQueueType myPendingMessages
 Pending messages. More...
 
bool myConnectionLost
 Connection Lost. More...
 
bool mySaveInProgress
 Save status. More...
 
bool myRestoreInProgress
 Restore status. More...
 
bool myAuthorizationIsEnabled
 Is authorization enabled. More...
 
RTI_API::AuthorizationResult::Code myAuthorizationResult
 
MAKRti::DtString myAuthorizationMessage
 Authorization message (mainly in case of failed authorization) More...
 
bool myDisconnectPending
 Disconnect from federation is pending. More...
 
unsigned long myConnectionId
 "unique" identifier for this connMgr (if there is a good source of unique ids) More...
 
MAKRti::DtString myFedExName
 Federation execution name. More...
 
DtFederateHandle myFedExHandle
 Federation execution handle. More...
 
DtFederateHandle myFederateHandle
 Federate handle. More...
 
unsigned long myReceivedMsgCount
 Number of received messages. More...
 
unsigned long mySentMsgCount
 Number of sent messages. More...
 
MAKRti::DtList myWorkingMsgId
 Diagnostic message ID stack. More...
 
DtMessageThrottlemyMessageThrottle
 Message output throttle. More...
 
bool myAllProvideUpdateRequestsDelayed
 Extend auto provide delay to all attribute update requests. More...
 
DtMutex * myCallbackMutex
 Mutex to synchronize access to RTI and Federate Ambassadors. More...
 
unsigned int myLockService
 RTI is processing a message. More...
 
unsigned int myInService
 RTI is processing a service call. More...
 
MAKRti::DtClock myClock
 Clock for timing. More...
 
std::shared_ptr
< DtRtiAssistantLrcClient
myAssistantClient
 The assistant client. More...
 
bool myIsFederate
 Whether this manager is for a federate. More...
 
unsigned long myVersionConflictCount
 The count of message version conflicts. More...
 
MAKRti::DtTime myVersionConflictNoticationTimer
 
unsigned long mySizeMismatchCount
 The count of message size mismatches. More...
 
MAKRti::DtTime mySizeMismatchNoticationTimer
 
DtPartnerMgrmyPartnerMgr
 
unsigned long myServiceCallCount
 Service call counter - increment before processing each service call. More...
 
bool myProcessingTick
 Tick processing state. More...
 
bool myEvokingCallbacks
 Indicates if callbacks are being evoked. More...
 
bool myProcessingMessage
 Indicates if message is being processed. More...
 
bool myShutdown
 Shutdown requested. More...
 
bool mySendShuttingDown
 Shutdown acknowledged. More...
 
bool myReceiveShuttingDown
 Shutdown acknowledged. More...
 
unsigned long myTickCount
 
const DtRtiApiTransportationType myBestEffortTransportType
 
const DtRtiApiTransportationType myReliableTransportType
 

Static Protected Attributes

static DtConnectionMgrCreator theCreator
 The plugin creator. More...
 
static DtConnectionMgrCreator theInternalCreator
 The internal creator. More...
 

Private Member Functions

 DtConnectionMgr (DtConnectionMgr const &)
 Copy Constructor not implemented – Copy Not Allowed! More...
 
DtConnectionMgroperator= (DtConnectionMgr const &)
 Assignment not implemented – Assignment Not Allowed! More...
 

Detailed Description

Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communicate over the network or communicate with the LRC application (using the federate ambassador pointer).

Override this class to change the way in which the MAK RTI communicates with other LRC components (or the rtiexec). This class also stores the user's federate ambassador pointer and provides a mechanism for monitoring RTI invoked services.

Member Typedef Documentation

typedef DtConnectionMgr*(* DtConnectionMgr::DtConnectionMgrCreator)(DtRIDParameters *p, bool isFederate, std::shared_ptr< DtRtiAssistantLrcClient > assistantClient)

Connection Manager Creator.

typedef std::list< DtRtiConnection* > DtConnectionMgr::DtRtiConnectionList
protected

List of all reliable connections (for forwarder load balancing)

Constructor & Destructor Documentation

DtConnectionMgr::DtConnectionMgr ( DtRIDParameters params,
bool  isFederate = false,
std::shared_ptr< DtRtiAssistantLrcClient assistantClient = std::shared_ptr< DtRtiAssistantLrcClient >() 
)
protected

Constructor is performed through create.

virtual DtConnectionMgr::~DtConnectionMgr ( )
virtual

Destructor.

DtConnectionMgr::DtConnectionMgr ( DtConnectionMgr const &  )
private

Copy Constructor not implemented – Copy Not Allowed!

Member Function Documentation

virtual void DtConnectionMgr::activateAutoProvideDelay ( )
virtual

Activate a delay timer (based on RID) used by managers to control timing for autoprovide callbacks Expired delays disable activation for current tick.

virtual void DtConnectionMgr::activateTransmitDelay ( )
virtual

Activate a delay timer (based on RID) used by managers to control transmission of internal state Expired delays disable activation for current tick.

virtual void DtConnectionMgr::addFedAmbWrapper ( MAKRti::DtString const &  name,
DtFedAmbWrapper fedAmb 
)
virtual

Register a Federate Wrapper with the RTI A federate wrapper allows your plugin to monitor any RTI invoked services.

Wrappers are set up in a chain: Each DtFedAmbWrapper has a pointer to the next Federate Ambassador pointer in the list. The last pointer in the list is always the one given to the RTI in joinFederationExecution.

virtual bool DtConnectionMgr::addFedAmbWrapperAtFront ( MAKRti::DtString const &  name,
DtFedAmbWrapper fedAmb 
)
virtual

When the fedAmb Wrapper is installed make certain that this particular wrapper is the first to process the msg.

Returns whether the addition was sucessful, or another wrapper is already designated The wrapper At Front.

virtual void DtConnectionMgr::addLogicalTimeFactory ( DtFederationHandle  federationHandle,
DtLogicalTimeFactory timeFactory 
)
virtual

Add the factory for the given federation that can create logical time/interval instances.

virtual void DtConnectionMgr::addMsgCallback ( DtRtiMsgKind  msgKind,
DtRtiMsgCbMgr::DtCallbackFcn  fcn,
void *  usr,
bool  isMomCallback = false 
)
virtual

Message Callbacks These callback functions operate on all of the connections.

MOM callbacks are processed without regard to the federates time status

virtual void DtConnectionMgr::addPendingMsg ( DtRtiMsg msg)
virtual

Add/get/process a pending message Messages will be processed during the next tick.

virtual void DtConnectionMgr::addWildcardMsgCallback ( DtRtiMsgCbMgr::DtCallbackFcn  fcn,
void *  usr,
bool  isMomCallback = false 
)
virtual

Message Callbacks These callback functions operate on all of the connections.

MOM callbacks are processed without regard to the federates time status

bool DtConnectionMgr::allProvideUpdateRequestsDelayed ( ) const

Return true if all provide update calls should be delayed (not just auto provide).

virtual unsigned int DtConnectionMgr::ancillaryReliableConnsCount ( ) const
protectedvirtual

Report number of ancillary reliable connections successfully established.

virtual RTI_API::FederateHandle DtConnectionMgr::apiFederateHandle ( DtFederateHandle  handle) const
virtual

Return the API federate handle encoded from the given internal handle.

virtual RTI_API::FederateHandle DtConnectionMgr::apiFederateHandle ( ) const
virtual

Return the API federate handle encoded from this federate's handle.

virtual bool DtConnectionMgr::authorizationIsEnabled ( ) const
virtual

Return true if authorization is enabled.

virtual const MAKRti::DtString& DtConnectionMgr::authorizationMessage ( ) const
virtual

Authorization message.

virtual RTI_API::AuthorizationResult::Code DtConnectionMgr::authorizationResult ( ) const
virtual

Connection is authorized?

virtual DtRtiConnection* DtConnectionMgr::bestEffortConn ( ) const
virtual

Returns the connection created by createBestEffortConn().

virtual bool DtConnectionMgr::checkRelConn ( )
protectedvirtual

Check the reliable connection status. Attempt to reconnect if connection has been lost.

virtual void DtConnectionMgr::connectFederation ( DtLogicalTimeFactory logicalTimeFactoryPtr,
MAKRti::DtString  fedExName,
DtFederateHandle  federateHandle,
int  fedExHandle 
)
virtual

The LRC associates its federation information with its network connections.

If the LRC is communicating with the rtiexec through a reliable connection, then the best effort connection is created here.

Reimplemented in DtAsyncConnectionMgr.

virtual unsigned long DtConnectionMgr::connectionId ( ) const
virtual

Return connection ID.

virtual bool DtConnectionMgr::connectionLost ( )
virtual

Indicates that the connection of the RTI has been lost.

virtual DtRtiMsg* DtConnectionMgr::create ( DtRtiMsgKind  kind)
virtual

Request the RTI message factory for a msg.

The caller is responsible for deletion. By default, all exercise connections use the same factory for creating messages. The returned msg is blank and must be filled in before being sent.

static DtConnectionMgr* DtConnectionMgr::create ( DtRIDParameters p,
bool  isFederate = false,
std::shared_ptr< DtRtiAssistantLrcClient assistantClient = std::shared_ptr< DtRtiAssistantLrcClient >() 
)
static

A Connection Manager instance is created, initialized and its pointer is returned.

A registered creator is used if present; otherwise, an internal class is instantiated.

virtual unsigned int DtConnectionMgr::createAncillaryRelConns ( )
protectedvirtual

Create ancillary reliable connections; Returns count of successful connections.

virtual bool DtConnectionMgr::createBestEffortConn ( )
protectedvirtual

Create best effort connection; Returns true if successful Could be that it already exist in which case it is still used.

Reimplemented in DtAsyncConnectionMgr.

virtual bool DtConnectionMgr::createRelConn ( )
protectedvirtual

Create reliable connection; Returns true if successful.

virtual bool DtConnectionMgr::delayAutoProvide ( ) const
virtual

Return true if autoprovides should be delayed.

virtual bool DtConnectionMgr::delayTransmit ( ) const
virtual

Return true if retransmission of internal state should be delayed.

virtual void DtConnectionMgr::destroyAncillaryRelConn ( DtRtiConnection conn)
protectedvirtual

Destroy the given ancillary reliable connection.

Reimplemented in DtAsyncConnectionMgr.

virtual void DtConnectionMgr::destroyAncillaryRelConns ( )
protectedvirtual

Destroy ancillary reliable connections.

Reimplemented in DtAsyncConnectionMgr.

virtual void DtConnectionMgr::destroyBestEffortConn ( )
protectedvirtual

Destroy best effort connection.

virtual void DtConnectionMgr::destroyRelConn ( )
protectedvirtual

Destroy reliable connection.

Reimplemented in DtAsyncConnectionMgr.

virtual void DtConnectionMgr::disconnectFederation ( )
virtual

The LRC disassociates its connections from the federation.

If the LRC is communicating with the rtiexec through a reliable connection, then the best effort connection is destroyed here.

Reimplemented in DtSmConnectionMgr, and DtAsyncConnectionMgr.

virtual bool DtConnectionMgr::doConnectionRepair ( )
protectedvirtual

Do the connection repair.

virtual bool DtConnectionMgr::doWait ( MAKRti::DtTime  period)
protectedvirtual

perform actual wait. Called by wait

Reimplemented in DtAsyncConnectionMgr.

virtual bool DtConnectionMgr::drainBacklog ( MAKRti::DtTime  timeout = 0.0)
virtual

Attempts to flush backlogged messages repeatedly until either all messages are sent or the timeout expires.

virtual void DtConnectionMgr::dropMulticastGroup ( const MAKRti::DtInetAddr &  addr,
const MAKRti::DtInetAddr &  netInterface = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Add/Drop multicast groups from the best effort connection Listens are accumulated and drops decrement.

The multicast is not actually dropped until the listen count goes to zero.

Reimplemented in DtSmConnectionMgr.

virtual void DtConnectionMgr::emptyPendingMsgList ( )
virtual

Add/get/process a pending message Messages will be processed during the next tick.

virtual void DtConnectionMgr::enableSmartForwarding ( bool  enableSmartForwarding,
bool  enableInternalMessageSmartForwarding,
int  maxNumFederates 
)
virtual

Enables or disables smart forwarding.

virtual bool DtConnectionMgr::enterServiceCall ( )
virtual

Called by RTI Ambassador services to gain mutually exclusive access to RTI managers.

Return true if lock was obtained; otherwise false (i.e., locks not used)

virtual bool DtConnectionMgr::evokingCallbacks ( ) const
virtual

Set/Get the evoke callbacks state.

virtual void DtConnectionMgr::exitServiceCall ( )
virtual

Called by RTI Ambassador services to release mutually exclusive access to RTI managers.

virtual RTI_API::FederateAmbassador* DtConnectionMgr::fedAmb ( ) const
virtual

Return pointer to Federate Ambassador.

virtual unsigned long DtConnectionMgr::fedExHandle ( ) const
virtual

Return federation execution handle.

virtual const MAKRti::DtString& DtConnectionMgr::fedExName ( ) const
virtual

Return federation execution name.

virtual DtFederateHandle DtConnectionMgr::fedHandle ( ) const
virtual

Return federate handle.

DtFederateMgr* DtConnectionMgr::fedMgr ( )

The federate manager.

Warning: Will return a null pointer when connection manager is not used by an LRC.

virtual bool DtConnectionMgr::flush ( )
virtual

Send buffered messages.

Returns indication of whether the flush is complete or incomplete.

Reimplemented in DtAsyncConnectionMgr, and DtSmConnectionMgr.

virtual void DtConnectionMgr::flushThrottledMessages ( )
virtual

Flush messages in throttle queue.

virtual void DtConnectionMgr::forceDropMulticastGroup ( const MAKRti::DtInetAddr &  addr,
const MAKRti::DtInetAddr &  netInterface = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Override listen count and force drop multicast address.

Listen count goes to zero.

Reimplemented in DtSmConnectionMgr.

virtual DtRtiMsg* DtConnectionMgr::getMessage ( )
virtual

Get a message if one exists Message must be destroyed by caller.

Reimplemented in DtAsyncConnectionMgr, DtSmConnectionMgr, and DtNetStatsAsyncConnMgr.

virtual void DtConnectionMgr::handleAuthorizationMessage ( const DtAuthorizationResultMsg resultMessage)
protectedvirtual

Handle the authorization result message from the forwarder.

virtual void DtConnectionMgr::handleConnectMessage ( const DtConnectMsg message)
protectedvirtual

Handle the connect message from the forwarder.

virtual DtNetReadStatus DtConnectionMgr::handleMsg ( DtRtiMsg msg)
virtual

Handle this message by either processing it or queuing it if save pending.

Return the status of processing the message

Reimplemented in DtAsyncConnectionMgr.

virtual bool DtConnectionMgr::hasTransport ( MAKRti::DtTransportType  trans)
virtual

returns true if the specified transport type is available

virtual void DtConnectionMgr::incrementSequenceNumber ( )
virtual

Increment the sequence number.

virtual unsigned long DtConnectionMgr::incrementServiceCallCount ( ) const
virtual

Increment a (mutable) counter to identify the service call being processed.

Return the incremented value

virtual int DtConnectionMgr::init ( DtRIDParameters params)
virtual

Initialize the RTI's exercise parameters and connections Users who wish to override the MAK RTI's network connections should override this function or initConnections()

Reimplemented in DtAsyncConnectionMgr, and DtRtiShmQNetMgr.

virtual int DtConnectionMgr::initConnections ( )
protectedvirtual

Initialize the RTI's exercise connections Users who wish to override the MAK RTI's network connections should override this function.

Reimplemented in DtSmConnectionMgr.

virtual void DtConnectionMgr::initParams ( DtRIDParameters params)
virtual

Initialize the parameters used by the connection manager.

This function is automatically called by init

virtual bool DtConnectionMgr::inServiceCall ( )
virtual

Called by RTI Ambassador services query if mutex was set using enterServiceCall()

virtual MAKRti::DtTransportType DtConnectionMgr::internalTransportType ( ) const
virtual

Returns the TransportType associated for the internal connection.

virtual bool DtConnectionMgr::isAuthorized ( ) const
virtual

Return true if authorized.

virtual bool DtConnectionMgr::isMetadataEnabled ( DtMetadataType  type)
virtual
bool DtConnectionMgr::isPendingMsgQueueEmpty ( )
inline

Add/get/process a pending message Messages will be processed during the next tick.

virtual bool DtConnectionMgr::isShuttingDown ( )
virtual

Shutdown acknowledged.

virtual void DtConnectionMgr::listenToMulticastGroup ( const MAKRti::DtInetAddr &  addr,
const MAKRti::DtInetAddr &  netInterface = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Add/Drop multicast groups from the best effort connection Listens are accumulated and drops decrement.

The multicast is not actually dropped until the listen count goes to zero.

Reimplemented in DtSmConnectionMgr.

virtual bool DtConnectionMgr::lockServiceCall ( )
virtual

Called by asynchronous processing thread to gain mutually exclusive access to RTI managers.

virtual DtLogicalTimeFactory* DtConnectionMgr::logicalTimeFactory ( DtFederationHandle  federationHandle = 0) const
virtual

Get the factory for the given federation that can create logical time/interval instances.

virtual DtNetReadStatus DtConnectionMgr::momProcessMsg ( const DtRtiMsg msg)
virtual

apply MOM callbacks to message

virtual DtRtiMsgFactory* DtConnectionMgr::msgFactory ( ) const
virtual
virtual DtRtiMsgQueue* DtConnectionMgr::msgQueue ( )
virtual

Set/Get the time managed message queue.

virtual DtRtiMsg* DtConnectionMgr::nextPendingMsg ( )
virtual

Add/get/process a pending message Messages will be processed during the next tick.

DtConnectionMgr& DtConnectionMgr::operator= ( DtConnectionMgr const &  )
private

Assignment not implemented – Assignment Not Allowed!

virtual DtRIDParameters* DtConnectionMgr::params ( )
virtual

Get a pointer to the RID parameters.

DtPartnerMgr* DtConnectionMgr::partnerMgr ( )

Partner manager.

virtual void DtConnectionMgr::prepareToDisconnect ( )
virtual

Make preparations to disconnect.

virtual bool DtConnectionMgr::processConnection ( DtRtiConnection conn,
MAKRti::DtTransportType  trans 
)
virtual

Read from the given connection and process the message (if received) Return boolean: message was received? (i.e.

could be more input).

Reimplemented in DtRtiShmQNetMgr, and DtSmConnectionMgr.

virtual bool DtConnectionMgr::processConnections ( )
virtual

Check all the connections and process any incomming messages Return boolean: message was received? (i.e.

could be more input).

Reimplemented in DtAsyncConnectionMgr, and DtSmConnectionMgr.

virtual bool DtConnectionMgr::processConnectionsInCallback ( )
virtual

Reimplemented in DtAsyncConnectionMgr.

virtual bool DtConnectionMgr::processingTick ( ) const
virtual

Set/Get tick processing state.

virtual DtNetReadStatus DtConnectionMgr::processMsg ( const DtRtiMsg msg)
virtual

this function applies the callbacks to the message

Reimplemented in DtRtiShmQNetMgr, and DtNetStatsAsyncConnMgr.

virtual bool DtConnectionMgr::processPendingMsg ( )
virtual

Add/get/process a pending message Messages will be processed during the next tick.

virtual void DtConnectionMgr::processReadResult ( int  readError)
protectedvirtual

Process read result to print error diagnostics for example.

virtual void DtConnectionMgr::processThrottledMessages ( )
virtual

Process messages in throttle queue that are being sent at specified rate.

virtual int DtConnectionMgr::readFileDescriptor ( DtRtiApiTransportationType  transport)
virtual

Returns a file descriptor on which data will be present for the given transport type whenever there is incoming data waiting to be read.

Returns -1 if no such file descriptor.

Reimplemented in DtAsyncConnectionMgr, and DtSmConnectionMgr.

virtual DtRtiConnection* DtConnectionMgr::reliableConn ( ) const
virtual

Returns the connection created by createTcpConn().

If no TCP/IP connection has been created, this will return NULL

virtual DtFedAmbWrapper* DtConnectionMgr::removeFedAmbWrapper ( MAKRti::DtString const &  name)
virtual

Remove federate wrapper.

virtual void DtConnectionMgr::removeLogicalTimeFactory ( DtFederationHandle  federationHandle)
virtual

Remove the factory for the given federation that can create logical time/interval instances.

virtual void DtConnectionMgr::removeMsgCallback ( DtRtiMsgKind  msgKind,
DtRtiMsgCbMgr::DtCallbackFcn  fcn,
void *  usr,
bool  isMomCallback = false 
)
virtual

Message Callbacks These callback functions operate on all of the connections.

MOM callbacks are processed without regard to the federates time status

virtual void DtConnectionMgr::removeWildcardMsgCallback ( DtRtiMsgCbMgr::DtCallbackFcn  fcn,
void *  usr,
bool  isMomCallback = false 
)
virtual

Message Callbacks These callback functions operate on all of the connections.

MOM callbacks are processed without regard to the federates time status

virtual bool DtConnectionMgr::repairFederationConnection ( )
protectedvirtual

Attempt to re-establish a broken connection to the federation Returns true if successful.

Reimplemented in DtAsyncConnectionMgr, and DtSmConnectionMgr.

virtual void DtConnectionMgr::resetConnectionLost ( )
virtual

Status Reset For Connection Lost Flag *Should be called after the connection loss has been handled.

virtual bool DtConnectionMgr::restoreInProgress ( ) const
virtual

Set/Get the flag indicating whether a restore is in progress Unless a message is marked safe to process during a save a received message is queued for later processing.

virtual DtRetractInfoList* DtConnectionMgr::retractList ( )
virtual

Set/Get the time managed retract list.

virtual bool DtConnectionMgr::saveInProgress ( ) const
virtual

Set/Get the flag indicating whether a save is in progress Unless a message is marked safe to process during a save a received message is queued for later processing.

virtual bool DtConnectionMgr::saveRestoreInProgress ( ) const
virtual

Return bool: Is save or restore in progress.

virtual int DtConnectionMgr::send ( const DtRtiMsg msg,
MAKRti::DtTransportType  transport,
const MAKRti::DtInetAddr &  addr = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Sending.

Send a message Returns the size of the data sent

Reimplemented in DtAsyncConnectionMgr, and DtSmConnectionMgr.

virtual int DtConnectionMgr::sendAndDelete ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
const MAKRti::DtInetAddr &  addr = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send a message and delete the message after it has been sent Returns the size of the data sent.

Reimplemented in DtAsyncConnectionMgr.

virtual int DtConnectionMgr::sendDirectedAndDelete ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
DtFederateHandle  fedHandle,
const MAKRti::DtInetAddr &  addr = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send and delete a message stamped with federate ID These messages are sent to a specific entity by using internal smart forwarding if enabled.

virtual int DtConnectionMgr::sendDirectedStampedAndDelete ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
DtFederateHandle  fedHandle,
const MAKRti::DtInetAddr &  = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send and delete a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here. These messages are sent to a specific entity by using internal smart forwarding if enabled

virtual int DtConnectionMgr::sendDirectedStampedAndDelete ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
DtBitMask sendMask,
const MAKRti::DtInetAddr &  = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send and delete a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here. These messages are sent to a specific entity by using internal smart forwarding if enabled

virtual int DtConnectionMgr::sendDirectedStampedAnonymousAndDelete ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
DtFederateHandle  fedHandle,
const MAKRti::DtInetAddr &  addr = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send and delete a message stamped with fedEx name, but not federate ID Does not make retraction record of sent messages

virtual void DtConnectionMgr::sendLoopback ( DtRtiMsg msg)
virtual

Send a message to be processed by this federate.

Will not send to any other federates. NOTE: For now, this only works for TSO messages for time managed federates.

virtual void DtConnectionMgr::sendShutdownForwarderMsg ( )
virtual

Called by the rtiExec when it is exiting, only if it started this forwarder.

virtual int DtConnectionMgr::sendStamped ( const DtRtiMsg msg,
MAKRti::DtTransportType  transport,
const MAKRti::DtInetAddr &  = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here.

virtual int DtConnectionMgr::sendStampedAndDelete ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
const MAKRti::DtInetAddr &  = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send and delete a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here.

virtual int DtConnectionMgr::sendStampedAnonymous ( const DtRtiMsg msg,
MAKRti::DtTransportType  transport,
const MAKRti::DtInetAddr &  addr = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send a message stamped with fedEx name, but not federate ID Does not make retraction record of sent messages.

virtual int DtConnectionMgr::sendStampedAnonymousAndDelete ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
const MAKRti::DtInetAddr &  addr = MAKRti::DtInetAddr::inaddrAny() 
)
virtual

Send and delete a message stamped with fedEx name, but not federate ID Does not make retraction record of sent messages

virtual int DtConnectionMgr::sendStampedUtilityFunction ( DtRtiMsg msg,
MAKRti::DtTransportType  transport,
bool  performDelete,
bool  isAnonymous,
const MAKRti::DtInetAddr &  addr 
)
protectedvirtual

Called by sendStamped, sendStampedAndDelete, sendAnonymousStamped, etc.

Performs actual send, stamping, deletion.

virtual unsigned long DtConnectionMgr::sequenceNumber ( ) const
virtual

Get the next sequence number.

virtual unsigned long DtConnectionMgr::serviceCallCount ( ) const
virtual

Return service call counter.

virtual bool DtConnectionMgr::serviceCallLocked ( )
virtual

Called by RTI Ambassador services query if mutex was set using lockServiceCall()

static void DtConnectionMgr::setCreatorFunction ( DtConnectionMgrCreator  fn)
static

Register a creator function.

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

virtual void DtConnectionMgr::setEvokingCallbacks ( bool  evokingCbs)
virtual

Set/Get the evoke callbacks state.

virtual void DtConnectionMgr::setFederateAmbassador ( RTI_API::FederateAmbassador *  fedAmb)
virtual

Set the federate ambassador.

virtual void DtConnectionMgr::setFederateHandle ( DtFederateHandle  handle)
virtual

set federate handle ( this is used by restore and should not be called otherwise )

virtual void DtConnectionMgr::setFederateMgr ( DtFederateMgr fedMgrPtr)
virtual

Set the federate manager.

Reimplemented in DtAsyncConnectionMgr.

static void DtConnectionMgr::setInternalCreatorFunction ( DtConnectionMgrCreator  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 DtConnectionMgr::setMetadataControl ( DtMetadataType  type,
bool  onOff 
)
virtual

Set/Get metadata control indicators.

virtual void DtConnectionMgr::setMsgFactory ( DtRtiMsgFactory fact)
virtual

Get/Set the message factory.

Reimplemented in DtSmConnectionMgr.

virtual void DtConnectionMgr::setMsgQueue ( DtRtiMsgQueue msgQueuePtr)
virtual
virtual void DtConnectionMgr::setProcessingTick ( bool  processingTick)
virtual

Set/Get tick processing state.

virtual void DtConnectionMgr::setRestoreInProgress ( bool  saveIsInProgress)
virtual
virtual void DtConnectionMgr::setRetractList ( DtRetractInfoList listPtr)
virtual
virtual void DtConnectionMgr::setSaveInProgress ( bool  saveIsInProgress)
virtual
virtual bool DtConnectionMgr::setupSelectParams ( DtSelectParam *  params)
virtual

adds Read File descriptors to a DtSelectParams Return boolean: file descriptor was added? In case no descriptors have been added, should sleep instead of select as there will be no input.

Reimplemented in DtSmConnectionMgr.

virtual void DtConnectionMgr::shutdown ( )
virtual

Request shutdown of communication activities.

Reimplemented in DtAsyncConnectionMgr, and DtNetStatsAsyncConnMgr.

virtual void DtConnectionMgr::testAutoProvideDelay ( )
virtual

Test if autoprovide delay time has expired.

When the delay has expired, the current tick will allow autoprovides.

virtual void DtConnectionMgr::testTransmitDelay ( )
virtual

Test if retransmit delay time has expired.

If so, deactivate delay and activate message metering. When the delay has expired, the current tick will allow retransmission of internal state (see method - delayTransmit). The transmission of these messages can be metered at a give rate. If so, then any messages over the specified rate are queued to be transmitted in subsequent ticks.

virtual bool DtConnectionMgr::tick ( )
virtual

Receiving.

Process the connections. Return boolean: a message was processed?

Reimplemented in DtAsyncConnectionMgr.

virtual void DtConnectionMgr::unlockServiceCall ( )
virtual

Called by asychronous processing thread to release mutually exclusive access to RTI managers.

virtual void DtConnectionMgr::updateBufferSizes ( )
virtual

Update Buffer sizes from Rid params object.

virtual bool DtConnectionMgr::wait ( MAKRti::DtTime  periodInSeconds,
bool  unlockWhileWaiting = false 
)
virtual

Wait for data to be ready or the given period of time to expire Return boolean: data is ready for reading?

Reimplemented in DtSmConnectionMgr, and DtAsyncConnectionMgr.

virtual void DtConnectionMgr::yield ( )
virtual

Yield processing to allow more data to arrive.

Reimplemented in DtAsyncConnectionMgr.

Member Data Documentation

bool DtConnectionMgr::myAddMcastMetadata
protected
bool DtConnectionMgr::myAddTransportTypeMetadata
protected

Metadata control indicators.

bool DtConnectionMgr::myAllProvideUpdateRequestsDelayed
protected

Extend auto provide delay to all attribute update requests.

std::shared_ptr<DtRtiAssistantLrcClient> DtConnectionMgr::myAssistantClient
protected

The assistant client.

bool DtConnectionMgr::myAuthorizationIsEnabled
protected

Is authorization enabled.

MAKRti::DtString DtConnectionMgr::myAuthorizationMessage
protected

Authorization message (mainly in case of failed authorization)

RTI_API::AuthorizationResult::Code DtConnectionMgr::myAuthorizationResult
protected
DtRtiConnection* DtConnectionMgr::myBestEffortConn
protected

The best effort connection.

const DtRtiApiTransportationType DtConnectionMgr::myBestEffortTransportType
protected
DtMutex* DtConnectionMgr::myCallbackMutex
protected

Mutex to synchronize access to RTI and Federate Ambassadors.

MAKRti::DtClock DtConnectionMgr::myClock
protected

Clock for timing.

unsigned long DtConnectionMgr::myConnectionId
protected

"unique" identifier for this connMgr (if there is a good source of unique ids)

bool DtConnectionMgr::myConnectionLost
protected

Connection Lost.

DtDfltMsgFactory DtConnectionMgr::myDfltMsgFactory
protected

Default message factory.

bool DtConnectionMgr::myDisconnectPending
protected

Disconnect from federation is pending.

bool DtConnectionMgr::myEvokingCallbacks
protected

Indicates if callbacks are being evoked.

DtFedAmbWrapperChain DtConnectionMgr::myFedAmbChain
protected

Chain of Federate Ambassador Wrappers.

DtFederateHandle DtConnectionMgr::myFederateHandle
protected

Federate handle.

DtFederateHandle DtConnectionMgr::myFedExHandle
protected

Federation execution handle.

MAKRti::DtString DtConnectionMgr::myFedExName
protected

Federation execution name.

DtFederateMgr* DtConnectionMgr::myFedMgr
protected

The federate manager.

unsigned int DtConnectionMgr::myInService
protected

RTI is processing a service call.

MAKRti::DtTransportType DtConnectionMgr::myInternalTransportType
protected

Transport type used for internal messages.

bool DtConnectionMgr::myIsFederate
protected

Whether this manager is for a federate.

unsigned int DtConnectionMgr::myLockService
protected

RTI is processing a message.

std::map<DtFederationHandle, DtLogicalTimeFactory*> DtConnectionMgr::myLogicalTimeFactories
protected

Factories for creating logical time instances.

DtMessageThrottle* DtConnectionMgr::myMessageThrottle
protected

Message output throttle.

DtRtiMsgCbMgr DtConnectionMgr::myMomMsgCbMgr
protected

MOM message callback manager.

DtRtiMsgCbMgr DtConnectionMgr::myMsgCbMgr
protected

Message callback manager.

DtRtiMsgFactory* DtConnectionMgr::myMsgFactory
protected

The message factory.

DtRtiMsgQueue* DtConnectionMgr::myMsgQueue
protected

Message queue.

std::map<MAKRti::DtInetAddr, DtMulticastEntry*> DtConnectionMgr::myMulticastGroups
protected

LRC listening to these multicast groups.

DtRIDParameters* DtConnectionMgr::myParams
protected

The RTI initialization parameters.

DtPartnerMgr* DtConnectionMgr::myPartnerMgr
protected
DtMessageQueueType DtConnectionMgr::myPendingMessages
protected

Pending messages.

DtRtiConnection* DtConnectionMgr::myPrimaryReliableConn
protected

The primary reliable connection.

bool DtConnectionMgr::myProcessingMessage
protected

Indicates if message is being processed.

bool DtConnectionMgr::myProcessingTick
protected

Tick processing state.

unsigned long DtConnectionMgr::myReceivedMsgCount
protected

Number of received messages.

bool DtConnectionMgr::myReceiveShuttingDown
protected

Shutdown acknowledged.

DtRtiConnectionList DtConnectionMgr::myReliableConns
protected
const DtRtiApiTransportationType DtConnectionMgr::myReliableTransportType
protected
bool DtConnectionMgr::myRestoreInProgress
protected

Restore status.

DtRetractInfoList* DtConnectionMgr::myRetractList
protected

Message retractions.

bool DtConnectionMgr::mySaveInProgress
protected

Save status.

bool DtConnectionMgr::mySendShuttingDown
protected

Shutdown acknowledged.

unsigned long DtConnectionMgr::mySentMsgCount
protected

Number of sent messages.

unsigned long DtConnectionMgr::myServiceCallCount
mutableprotected

Service call counter - increment before processing each service call.

bool DtConnectionMgr::myShutdown
protected

Shutdown requested.

unsigned long DtConnectionMgr::mySizeMismatchCount
protected

The count of message size mismatches.

MAKRti::DtTime DtConnectionMgr::mySizeMismatchNoticationTimer
protected
unsigned long DtConnectionMgr::myTickCount
protected
unsigned long DtConnectionMgr::myVersionConflictCount
protected

The count of message version conflicts.

MAKRti::DtTime DtConnectionMgr::myVersionConflictNoticationTimer
protected
MAKRti::DtList DtConnectionMgr::myWorkingMsgId
protected

Diagnostic message ID stack.

DtConnectionMgrCreator DtConnectionMgr::theCreator
staticprotected

The plugin creator.

DtConnectionMgrCreator DtConnectionMgr::theInternalCreator
staticprotected

The internal creator.


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

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)