![]() |
MAK RTIspy API Documentation for HLA Evolved
|
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, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient) |
| Connection Manager Creator. | |
Public Member Functions | |
| virtual | ~DtConnectionMgr () |
| Destructor. | |
| 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() | |
| virtual void | initParams (DtRIDParameters *params) |
| Initialize the parameters used by the connection manager. | |
| virtual void | enableSmartForwarding (bool enableSmartForwarding, bool enableInternalMessageSmartForwarding, int maxNumFederates) |
| Enables or disables smart forwarding. | |
| virtual DtRIDParameters * | params () |
| Get a pointer to the RID parameters. | |
| virtual void | setFederateMgr (DtFederateMgr *fedMgrPtr) |
| Set the federate manager. | |
| virtual void | shutdown () |
| Request shutdown of communication activities. | |
| virtual bool | isShuttingDown () |
| Shutdown acknowledged. | |
| virtual int | send (const DtRtiMsg &msg, MAKRti::DtTransportType transport, const MAKRti::DtInetAddr &addr=MAKRti::DtInetAddr::inaddrAny()) |
| Sending. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| virtual void | sendLoopback (DtRtiMsg *msg) |
| Send a message to be processed by this federate. | |
| virtual bool | flush () |
| Send buffered messages. | |
| virtual bool | drainBacklog (MAKRti::DtTime timeout=0.0) |
| Attempts to flush backlogged messages repeatedly until either all messages are sent or the timeout expires. | |
| 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. | |
| virtual bool | delayTransmit () const |
| Return true if retransmission of internal state should be delayed. | |
| virtual void | testTransmitDelay () |
| Test if retransmit delay time has expired. | |
| 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. | |
| virtual bool | delayAutoProvide () const |
| Return true if autoprovides should be delayed. | |
| bool | allProvideUpdateRequestsDelayed () const |
| Return true if all provide update calls should be delayed (not just auto provide). | |
| virtual void | testAutoProvideDelay () |
| Test if autoprovide delay time has expired. | |
| virtual void | processThrottledMessages () |
| Process messages in throttle queue that are being sent at specified rate. | |
| virtual void | flushThrottledMessages () |
| Flush messages in throttle queue. | |
| virtual unsigned long | incrementServiceCallCount () |
| Increment a counter to identify the service call being processed. | |
| virtual unsigned long | serviceCallCount () const |
| Return service call counter. | |
| virtual bool | tick () |
| Receiving. | |
| 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. | |
| virtual bool | processConnections () |
| Check all the connections and process any incomming messages Return boolean: message was received? (i.e. | |
| virtual DtRtiMsg * | getMessage () |
| Get a message if one exists Message must be destroyed by caller. | |
| virtual void | updateBufferSizes () |
| Update Buffer sizes from Rid params object. | |
| virtual DtNetReadStatus | handleMsg (DtRtiMsg &msg) |
| Handle this message by either processing it or queuing it if save pending. | |
| virtual DtNetReadStatus | processMsg (const DtRtiMsg &msg) |
| this function applies the callbacks to the message | |
| virtual DtNetReadStatus | momProcessMsg (const DtRtiMsg &msg) |
| apply MOM callbacks to message | |
| DtFederateMgr * | fedMgr () |
| The federate manager. | |
| DtPartnerMgr * | partnerMgr () |
| Partner manager. | |
| virtual int | readFileDescriptor (RTI::TransportType 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. | |
| virtual MAKRti::DtTransportType | internalTransportType () const |
| Returns the TransportType associated for the internal connection. | |
| 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. | |
| virtual bool | hasTransport (MAKRti::DtTransportType trans) |
| returns true if the specified transport type is available | |
| virtual DtRtiMsg * | create (DtRtiMsgKind kind) |
| Request the RTI message factory for a msg. | |
| virtual void | setMsgFactory (DtRtiMsgFactory *fact) |
| Get/Set the message factory. | |
| virtual DtRtiMsgFactory * | msgFactory () const |
| virtual void | forceDropMulticastGroup (const MAKRti::DtInetAddr &addr, const MAKRti::DtInetAddr &netInterface=MAKRti::DtInetAddr::inaddrAny()) |
| Override listen count and force drop multicast address. | |
| virtual void | connectFederation (DtLogicalTimeFactory *logicalTimeFactoryPtr, MAKRti::DtString fedExName, DtFederateHandle federateHandle, int fedExHandle) |
| The LRC associates its federation information with its network connections. | |
| virtual bool | repairFederationConnection () |
| Attempt to re-establish a broken connection to the federation Returns true if successful. | |
| virtual void | disconnectFederation () |
| The LRC disassociates its connections from the federation. | |
| virtual RTI::FederateAmbassador * | fedAmb () const |
| Return pointer to Federate Ambassador. | |
| 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. | |
| 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. | |
| virtual DtFedAmbWrapper * | removeFedAmbWrapper (MAKRti::DtString const &name) |
| Remove federate wrapper. | |
| virtual unsigned long | connectionId () const |
| Return connection ID. | |
| virtual DtFederateHandle | fedHandle () const |
| Return federate handle. | |
| virtual unsigned long | fedExHandle () const |
| Return federation execution handle. | |
| virtual const MAKRti::DtString & | fedExName () const |
| Return federation execution name. | |
| virtual void | setFederateHandle (DtFederateHandle handle) |
| set federate handle ( this is used by restore and should not be called otherwise ) | |
| virtual DtLogicalTimeFactory * | logicalTimeFactory (DtFederationHandle federationHandle=0) const |
| Get the factory for the given federation that can create logical time/interval instances. | |
| virtual void | addLogicalTimeFactory (DtFederationHandle federationHandle, DtLogicalTimeFactory *timeFactory) |
| Add the factory for the given federation that can create logical time/interval instances. | |
| virtual void | removeLogicalTimeFactory (DtFederationHandle federationHandle) |
| Remove the factory for the given federation that can create logical time/interval instances. | |
| virtual DtRtiMsgQueue * | msgQueue () |
| Set/Get the time managed message queue. | |
| virtual void | setMsgQueue (DtRtiMsgQueue *msgQueuePtr) |
| virtual DtRetractInfoList * | retractList () |
| Set/Get the time managed retract list. | |
| 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? | |
| virtual void | yield () |
| Yield processing to allow more data to arrive. | |
| 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. | |
| 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. | |
| virtual void | setRestoreInProgress (bool saveIsInProgress) |
| virtual bool | saveRestoreInProgress () const |
| Return bool: Is save or restore in progress. | |
| virtual void | setMetadataControl (DtMetadataType type, bool onOff) |
| Set/Get metadata control indicators. | |
| virtual bool | isMetadataEnabled (DtMetadataType type) |
| virtual void | sendShutdownForwarderMsg () |
| Called by the rtiExec when it is exiting, only if it started this forwarder. | |
| virtual unsigned long | sequenceNumber () const |
| Get the next sequence number. | |
| virtual void | incrementSequenceNumber () |
| Increment the sequence number. | |
| 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. | |
| virtual bool | processingTick () const |
| Set/Get tick processing state. | |
| virtual void | setEvokingCallbacks (bool evokingCbs) |
| Set/Get the evoke callbacks state. | |
| virtual bool | evokingCallbacks () const |
| Set/Get the evoke callbacks state. | |
| virtual void | addPendingMsg (DtRtiMsg *msg) |
| Add/get/process a pending message Messages will be processed during the next tick. | |
| virtual bool | processPendingMsg () |
| Add/get/process a pending message Messages will be processed during the next tick. | |
| virtual DtRtiMsg * | nextPendingMsg () |
| Add/get/process a pending message Messages will be processed during the next tick. | |
| virtual void | emptyPendingMsgList () |
| Add/get/process a pending message Messages will be processed during the next tick. | |
| virtual int | pendingMsgCount () |
| Add/get/process a pending message Messages will be processed during the next tick. | |
| virtual void | addMsgCallback (DtRtiMsgKind msgKind, DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false) |
| Message Callbacks These callback functions operate on all of the connections. | |
| virtual void | removeMsgCallback (DtRtiMsgKind msgKind, DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false) |
| Message Callbacks These callback functions operate on all of the connections. | |
| virtual void | addWildcardMsgCallback (DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false) |
| Message Callbacks These callback functions operate on all of the connections. | |
| virtual void | removeWildcardMsgCallback (DtRtiMsgCbMgr::DtCallbackFcn fcn, void *usr, bool isMomCallback=false) |
| Message Callbacks These callback functions operate on all of the connections. | |
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 DtRtiConnection * | reliableConn () const |
| Returns the connection created by createTcpConn(). | |
| virtual DtRtiConnection * | bestEffortConn () const |
| Returns the connection created by createBestEffortConn(). | |
| 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. | |
| 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. | |
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. | |
| virtual void | unlockServiceCall () |
| Called by asychronous processing thread to release mutually exclusive access to RTI managers. | |
| virtual bool | serviceCallLocked () |
| Called by RTI Ambassador services query if mutex was set using lockServiceCall() | |
| virtual bool | enterServiceCall () |
| Called by RTI Ambassador services to gain mutually exclusive access to RTI managers. | |
| virtual void | exitServiceCall () |
| Called by RTI Ambassador services to release mutually exclusive access to RTI managers. | |
| virtual bool | inServiceCall () |
| Called by RTI Ambassador services query if mutex was set using enterServiceCall() | |
Static Public Member Functions | |
| static DtConnectionMgr * | create (DtRIDParameters *p, bool isFederate=false, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient=DtBoost::shared_ptr< DtRtiAssistantLrcClient >()) |
| A Connection Manager instance is created, initialized and its pointer is returned. | |
| static void | setCreatorFunction (DtConnectionMgrCreator fn) |
| Register a creator function. | |
| static void | setInternalCreatorFunction (DtConnectionMgrCreator fn) |
| Register alternate internal creators. | |
Protected Types | |
| typedef std::list < DtRtiConnection * > | DtRtiConnectionList |
| List of all reliable connections (for forwarder load balancing) | |
Protected Member Functions | |
| DtConnectionMgr (DtRIDParameters *params, bool isFederate=false, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient=DtBoost::shared_ptr< DtRtiAssistantLrcClient >()) | |
| Constructor is performed through create. | |
| virtual bool | doWait (MAKRti::DtTime period) |
| perform actual wait. Called by wait | |
| virtual int | initConnections () |
| Initialize the RTI's exercise connections Users who wish to override the MAK RTI's network connections should override this function. | |
| virtual bool | createBestEffortConn () |
| Create best effort connection; Returns true if successful Could be that it already exist in which case it is still used. | |
| virtual void | destroyBestEffortConn () |
| Destroy best effort connection. | |
| virtual bool | createRelConn () |
| Create reliable connection; Returns true if successful. | |
| virtual void | destroyRelConn () |
| Destroy reliable connection. | |
| virtual unsigned int | createAncillaryRelConns () |
| Create ancillary reliable connections; Returns count of successful connections. | |
| virtual void | destroyAncillaryRelConn (DtRtiConnection *conn) |
| Destroy the given ancillary reliable connection. | |
| virtual void | destroyAncillaryRelConns () |
| Destroy ancillary reliable connections. | |
| virtual unsigned int | ancillaryReliableConnsCount () const |
| Report number of ancillary reliable connections successfully established. | |
| virtual bool | checkRelConn () |
| Check the reliable connection status. | |
| virtual void | processReadResult (int readError) |
| Process read result to print error diagnostics for example. | |
| virtual int | sendStampedUtilityFunction (DtRtiMsg *msg, MAKRti::DtTransportType transport, bool performDelete, bool isAnonymous, const MAKRti::DtInetAddr &addr) |
| Called by sendStamped, sendStampedAndDelete, sendAnonymousStamped, etc. | |
Protected Attributes | |
| DtRtiMsgFactory * | myMsgFactory |
| The message factory. | |
| DtRtiConnection * | myBestEffortConn |
| The best effort connection. | |
| DtRtiConnection * | myPrimaryReliableConn |
| The primary reliable connection. | |
| DtRtiConnectionList | myReliableConns |
| DtRIDParameters * | myParams |
| The RTI initialization parameters. | |
| DtFederateMgr * | myFedMgr |
| The federate manager. | |
| std::map< MAKRti::DtInetAddr, DtMulticastEntry * > | myMulticastGroups |
| LRC listening to these multicast groups. | |
| DtFedAmbWrapperChain | myFedAmbChain |
| Chain of Federate Ambassador Wrappers. | |
| DtDfltMsgFactory | myDfltMsgFactory |
| Default message factory. | |
| DtRtiMsgCbMgr | myMsgCbMgr |
| Message callback manager. | |
| DtRtiMsgCbMgr | myMomMsgCbMgr |
| MOM message callback manager. | |
| MAKRti::DtTransportType | myInternalTransportType |
| Transport type used for internal messages. | |
| bool | myAddTransportTypeMetadata |
| Metadata control indicators. | |
| bool | myAddMcastMetadata |
| std::map< DtFederationHandle, DtLogicalTimeFactory * > | myLogicalTimeFactories |
| Factories for creating logical time instances. | |
| DtRtiMsgQueue * | myMsgQueue |
| Message queue. | |
| DtRetractInfoList * | myRetractList |
| Message retractions. | |
| std::list< DtRtiMsg * > | myPendingMessages |
| Pending messages. | |
| bool | mySaveInProgress |
| Save status. | |
| bool | myRestoreInProgress |
| Restore status. | |
| unsigned long | myConnectionId |
| "unique" identifier for this connMgr (if there is a good source of unique ids) | |
| MAKRti::DtString | myFedExName |
| Federation execution name. | |
| DtFederateHandle | myFedExHandle |
| Federation execution handle. | |
| DtFederateHandle | myFederateHandle |
| Federate handle. | |
| unsigned long | myReceivedMsgCount |
| Number of received messages. | |
| unsigned long | mySentMsgCount |
| Number of sent messages. | |
| MAKRti::DtList | myWorkingMsgId |
| Diagnostic message ID stack. | |
| DtMessageThrottle * | myMessageThrottle |
| Message output throttle. | |
| bool | myAllProvideUpdateRequestsDelayed |
| Extend auto provide delay to all attribute update requests. | |
| DtMutex * | myCallbackMutex |
| Mutex to synchronize access to RTI and Federate Ambassadors. | |
| unsigned int | myLockService |
| RTI is processing a message. | |
| unsigned int | myInService |
| RTI is processing a service call. | |
| MAKRti::DtClock | myClock |
| Clock for timing. | |
| DtBoost::shared_ptr < DtRtiAssistantLrcClient > | myAssistantClient |
| The assistant client. | |
| bool | myIsFederate |
| Whether this manager is for a federate. | |
| unsigned long | myVersionConflictCount |
| The count of message version conflicts. | |
| MAKRti::DtTime | myVersionConflictNoticationTimer |
| unsigned long | mySizeMismatchCount |
| The count of message size mismatches. | |
| MAKRti::DtTime | mySizeMismatchNoticationTimer |
| DtPartnerMgr * | myPartnerMgr |
| unsigned long | myServiceCallCount |
| Service call counter - increment before processing each service call. | |
| bool | myProcessingTick |
| Tick processing state. | |
| bool | myEvokingCallbacks |
| Indicates if callbacks are being evoked. | |
| bool | myProcessingMessage |
| Indicates if message is being processed. | |
| bool | myShutdown |
| Shutdown requested. | |
| bool | mySendShuttingDown |
| Shutdown acknowledged. | |
| bool | myReceiveShuttingDown |
| Shutdown acknowledged. | |
| unsigned long | myTickCount |
Static Protected Attributes | |
| static DtConnectionMgrCreator | theCreator |
| The plugin creator. | |
| static DtConnectionMgrCreator | theInternalCreator |
| The internal creator. | |
Private Member Functions | |
| DtConnectionMgr (DtConnectionMgr const &) | |
| Copy Constructor not implemented – Copy Not Allowed! | |
| DtConnectionMgr & | operator= (DtConnectionMgr const &) |
| Assignment not implemented – Assignment Not Allowed! | |
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.
| typedef DtConnectionMgr*(* DtConnectionMgr::DtConnectionMgrCreator)(DtRIDParameters *p, bool isFederate, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient) |
Connection Manager Creator.
|
protected |
List of all reliable connections (for forwarder load balancing)
|
protected |
Constructor is performed through create.
|
virtual |
Destructor.
|
private |
Copy Constructor not implemented – Copy Not Allowed!
|
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 |
Activate a delay timer (based on RID) used by managers to control transmission of internal state Expired delays disable activation for current tick.
|
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 |
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 |
Add the factory for the given federation that can create logical time/interval instances.
|
virtual |
Message Callbacks These callback functions operate on all of the connections.
MOM callbacks are processed without regard to the federates time status
|
virtual |
Add/get/process a pending message Messages will be processed during the next tick.
|
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).
|
protectedvirtual |
Report number of ancillary reliable connections successfully established.
|
virtual |
Returns the connection created by createBestEffortConn().
|
protectedvirtual |
Check the reliable connection status.
Attempt to reconnect if connection has been lost.
|
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 |
Return connection ID.
|
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 |
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.
Reimplemented in DtAsyncConnectionMgr, DtSmConnectionMgr, and DtNetStatsAsyncConnMgr.
|
protectedvirtual |
Create ancillary reliable connections; Returns count of successful connections.
|
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.
|
protectedvirtual |
Create reliable connection; Returns true if successful.
|
virtual |
Return true if autoprovides should be delayed.
|
virtual |
Return true if retransmission of internal state should be delayed.
|
protectedvirtual |
Destroy the given ancillary reliable connection.
Reimplemented in DtAsyncConnectionMgr.
|
protectedvirtual |
Destroy ancillary reliable connections.
Reimplemented in DtAsyncConnectionMgr.
|
protectedvirtual |
Destroy best effort connection.
|
protectedvirtual |
Destroy reliable connection.
Reimplemented in DtAsyncConnectionMgr.
|
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.
|
protectedvirtual |
perform actual wait. Called by wait
Reimplemented in DtAsyncConnectionMgr.
|
virtual |
Attempts to flush backlogged messages repeatedly until either all messages are sent or the timeout expires.
|
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 |
Add/get/process a pending message Messages will be processed during the next tick.
|
virtual |
Enables or disables smart forwarding.
|
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 |
Set/Get the evoke callbacks state.
|
virtual |
Called by RTI Ambassador services to release mutually exclusive access to RTI managers.
|
virtual |
Return pointer to Federate Ambassador.
|
virtual |
Return federation execution handle.
|
virtual |
Return federation execution name.
|
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 |
Send buffered messages.
Returns indication of whether the flush is complete or incomplete.
Reimplemented in DtAsyncConnectionMgr, and DtSmConnectionMgr.
|
virtual |
Flush messages in throttle queue.
|
virtual |
Override listen count and force drop multicast address.
Listen count goes to zero.
Reimplemented in DtSmConnectionMgr.
|
virtual |
Get a message if one exists Message must be destroyed by caller.
Reimplemented in DtAsyncConnectionMgr, DtSmConnectionMgr, and DtNetStatsAsyncConnMgr.
|
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 |
returns true if the specified transport type is available
|
virtual |
Increment the sequence number.
|
virtual |
Increment a counter to identify the service call being processed.
Return the incremented value
|
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.
|
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 |
Initialize the parameters used by the connection manager.
This function is automatically called by init
|
virtual |
Called by RTI Ambassador services query if mutex was set using enterServiceCall()
|
virtual |
Returns the TransportType associated for the internal connection.
|
virtual |
|
virtual |
Shutdown acknowledged.
|
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 |
Called by asynchronous processing thread to gain mutually exclusive access to RTI managers.
|
virtual |
Get the factory for the given federation that can create logical time/interval instances.
|
virtual |
apply MOM callbacks to message
|
virtual |
|
virtual |
Set/Get the time managed message queue.
|
virtual |
Add/get/process a pending message Messages will be processed during the next tick.
|
private |
Assignment not implemented – Assignment Not Allowed!
|
virtual |
Get a pointer to the RID parameters.
| DtPartnerMgr* DtConnectionMgr::partnerMgr | ( | ) |
Partner manager.
|
virtual |
Add/get/process a pending message Messages will be processed during the next tick.
|
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 |
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 |
Reimplemented in DtAsyncConnectionMgr.
|
virtual |
Set/Get tick processing state.
|
virtual |
this function applies the callbacks to the message
Reimplemented in DtRtiShmQNetMgr, and DtNetStatsAsyncConnMgr.
|
virtual |
Add/get/process a pending message Messages will be processed during the next tick.
|
protectedvirtual |
Process read result to print error diagnostics for example.
|
virtual |
Process messages in throttle queue that are being sent at specified rate.
|
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 |
Returns the connection created by createTcpConn().
If no TCP/IP connection has been created, this will return NULL
|
virtual |
Remove federate wrapper.
|
virtual |
Remove the factory for the given federation that can create logical time/interval instances.
|
virtual |
Message Callbacks These callback functions operate on all of the connections.
MOM callbacks are processed without regard to the federates time status
|
virtual |
Message Callbacks These callback functions operate on all of the connections.
MOM callbacks are processed without regard to the federates time status
|
virtual |
Attempt to re-establish a broken connection to the federation Returns true if successful.
Reimplemented in DtSmConnectionMgr.
|
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 |
Set/Get the time managed retract list.
|
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 |
Return bool: Is save or restore in progress.
|
virtual |
Sending.
Send a message Returns the size of the data sent
Reimplemented in DtAsyncConnectionMgr, and DtSmConnectionMgr.
|
virtual |
Send a message and delete the message after it has been sent Returns the size of the data sent.
Reimplemented in DtAsyncConnectionMgr.
|
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 |
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 |
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 |
Send and delete a message stamped with fedEx name, but not federate ID Does not make retraction record of sent messages
|
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 |
Called by the rtiExec when it is exiting, only if it started this forwarder.
|
virtual |
Send a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here.
|
virtual |
Send and delete a message stamped with fedEx name and federate ID Retraction record of timestamped messages made here.
|
virtual |
Send a message stamped with fedEx name, but not federate ID Does not make retraction record of sent messages.
|
virtual |
Send and delete a message stamped with fedEx name, but not federate ID Does not make retraction record of sent messages
|
protectedvirtual |
Called by sendStamped, sendStampedAndDelete, sendAnonymousStamped, etc.
Performs actual send, stamping, deletion.
|
virtual |
Get the next sequence number.
|
virtual |
Return service call counter.
|
virtual |
Called by RTI Ambassador services query if mutex was set using lockServiceCall()
|
static |
Register a creator function.
When set, it will be used to create the Connection Manager.
|
virtual |
Set/Get the evoke callbacks state.
|
virtual |
set federate handle ( this is used by restore and should not be called otherwise )
|
virtual |
Set the federate manager.
Reimplemented in DtAsyncConnectionMgr.
|
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/Get metadata control indicators.
|
virtual |
Get/Set the message factory.
Reimplemented in DtSmConnectionMgr.
|
virtual |
|
virtual |
Set/Get tick processing state.
|
virtual |
|
virtual |
|
virtual |
|
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 |
Request shutdown of communication activities.
Reimplemented in DtAsyncConnectionMgr, and DtNetStatsAsyncConnMgr.
|
virtual |
Test if autoprovide delay time has expired.
When the delay has expired, the current tick will allow autoprovides.
|
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 |
Receiving.
Process the connections. Return boolean: a message was processed?
Reimplemented in DtAsyncConnectionMgr.
|
virtual |
Called by asychronous processing thread to release mutually exclusive access to RTI managers.
|
virtual |
Update Buffer sizes from Rid params object.
|
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 |
Yield processing to allow more data to arrive.
Reimplemented in DtAsyncConnectionMgr.
|
protected |
|
protected |
Metadata control indicators.
|
protected |
Extend auto provide delay to all attribute update requests.
|
protected |
The assistant client.
|
protected |
The best effort connection.
|
protected |
Mutex to synchronize access to RTI and Federate Ambassadors.
|
protected |
Clock for timing.
|
protected |
"unique" identifier for this connMgr (if there is a good source of unique ids)
|
protected |
Default message factory.
|
protected |
Indicates if callbacks are being evoked.
|
protected |
Chain of Federate Ambassador Wrappers.
|
protected |
Federate handle.
|
protected |
Federation execution handle.
|
protected |
Federation execution name.
|
protected |
The federate manager.
|
protected |
RTI is processing a service call.
|
protected |
Transport type used for internal messages.
|
protected |
Whether this manager is for a federate.
|
protected |
RTI is processing a message.
|
protected |
Factories for creating logical time instances.
|
protected |
Message output throttle.
|
protected |
MOM message callback manager.
|
protected |
Message callback manager.
|
protected |
The message factory.
|
protected |
Message queue.
|
protected |
LRC listening to these multicast groups.
|
protected |
The RTI initialization parameters.
|
protected |
|
protected |
Pending messages.
|
protected |
The primary reliable connection.
|
protected |
Indicates if message is being processed.
|
protected |
Tick processing state.
|
protected |
Number of received messages.
|
protected |
Shutdown acknowledged.
|
protected |
|
protected |
Restore status.
|
protected |
Message retractions.
|
protected |
Save status.
|
protected |
Shutdown acknowledged.
|
protected |
Number of sent messages.
|
protected |
Service call counter - increment before processing each service call.
|
protected |
Shutdown requested.
|
protected |
The count of message size mismatches.
|
protected |
|
protected |
|
protected |
The count of message version conflicts.
|
protected |
|
protected |
Diagnostic message ID stack.
|
staticprotected |
The plugin creator.
|
staticprotected |
The internal creator.