Public Member Functions |
| virtual | ~DtFedExec () |
| | Destructor.
|
| virtual DtConnectionMgr * | connectMgr () |
| | Returns the connection mgr.
|
| virtual DtLogicalTimeFactory * | fedTimeFactory () |
| | Returns the time factory.
|
| virtual const DtString & | fedExName () const |
| | Returns the name of the this federation execution.
|
| virtual int | fedExHandle () const |
| | Returns the handle of this federation execution.
|
| virtual const DtString & | fedFileName () const |
| | Returns the name of the FED file that was associated with the federation execution at creation time.
|
virtual const std::vector
< DtString > & | fomModules () const |
| | Returns the fomModules names associated w/ the fedex.
|
| virtual bool | fullyCreated () const |
| | Return boolean: Federation execution creation is complete.
|
| virtual void | setFullyCreated (bool val) |
| | Set completion status.
|
| virtual unsigned long | creatorID () const |
| | Set the ID for who created this federation execution.
|
| virtual void | createDistributor (const unsigned long initiatingFedID, const DtString &momModuleName, const std::vector< DtString > &fomModules) |
| | Create Fed File Distributor for federation.
|
| virtual int | numFederates () const |
| | Returns the total number of federates joined to this federation.
|
| virtual DtFederate * | getFederate (DtFederateHandle handle) |
| | Returns the DtFederate object representing the joined federate with the indicated handle.
|
| virtual DtFederateHandle | federateHandleOfConnection (unsigned long connId) const |
| | Return the connection's federate handle if joined to this federation; otherwise, 0.
|
| virtual void | disconnectFederate (DtFederate *fed) |
| | Mark federate as attempting to reconnect.
|
| virtual bool | removeFederateConnection (unsigned long id) |
| | Removes the federate with the given connection ID.
|
| virtual bool | restoreFederateConnection (DtFederateHandle handle, unsigned long newConnId, unsigned long &oldConnId) |
| | Restore a joined federate on a new connection ID TODO: let this work for connected, not necessarily joined federates Pass back old connection ID Return bool: federate restored.
|
| virtual void | reconnectFederateSucceeded (DtFederate *fed) |
| | Federate successfully reconnected.
|
| virtual void | reconnectFederateFailed (DtFederate *fed) |
| | Federate failed to reconnect.
|
| virtual bool | resignFederate (DtFederateHandle handle, DtResignAction action, DtResignReason reason) |
| | Resign the given federate from the federation.
|
| virtual void | resetClockForHeartBeat () |
| | This should only be called when the rtiExec has reconnected.
|
| virtual bool | tick () |
| | Tick the federation execution.
|
| virtual void | printFederates () |
| | Print the list of federates for each federation execution.
|
| virtual void | addFederateJoinedCallback (DtFederateCbFn fn, void *usr) |
| | Register callback to be invoked whenever a federate joins a federation.
|
| virtual void | removeFederateJoinedCallback (DtFederateCbFn fn, void *usr) |
| | Remove callback to be invoked whenever a federate joins a federation.
|
| virtual void | addFederateResignedCallback (DtFederateCbFn fn, void *usr) |
| | Register callback to be invoked whenever a federate resigns a federation.
|
| virtual void | removeFederateResignedCallback (DtFederateCbFn fn, void *usr) |
| | Remove callback to be invoked whenever a federate resigns a federation.
|
| virtual void | addSyncPtRegisteredCallback (DtSyncPointCbFn fn, void *usr) |
| | Register a callback to be invoked whenever a new sync point has been registered.
|
| virtual void | removeSyncPtRegisteredCallback (DtSyncPointCbFn fn, void *usr) |
| | Unregister a callback to be invoked whenever a new sync point has been registered.
|
| virtual void | addSyncPtAchievedCallback (DtSyncPointAchievedCbFn fn, void *usr) |
| | Register a callback to be invoked whenever a federate has achieved a sync point.
|
| virtual void | removeSyncPtAchievedCallback (DtSyncPointAchievedCbFn fn, void *usr) |
| | Unregister a callback to be invoked whenever a federate has achieved a sync point.
|
| virtual void | addFederationSynchronizedCallback (DtSyncPointCbFn fn, void *usr) |
| | Register a callback to be invoked whenever all federates has achieved a sync point.
|
| virtual void | removeFederationSynchronizedCallback (DtSyncPointCbFn fn, void *usr) |
| | Unregister a callback to be invoked whenever all federates has achieved a sync point.
|
| virtual void | addFederateDisconnectedCallback (DtFederateCbFn fn, void *usr) |
| | Register callbacks for federate disconnected.
|
| virtual void | removeFederateDisconnectedCallback (DtFederateCbFn fn, void *usr) |
| | Unregister callbacks for federate disconnected.
|
| virtual void | addFederateReconnectSucceededCallback (DtFederateCbFn fn, void *usr) |
| virtual void | removeFederateReconnectSucceededCallback (DtFederateCbFn fn, void *usr) |
| virtual void | addFederateReconnectFailedCallback (DtFederateCbFn fn, void *usr) |
| virtual void | removeFederateReconnectFailedCallback (DtFederateCbFn fn, void *usr) |
| void | multFileReceivedCb (const DtFomModuleDistributionMsg &msg) |
| | File received callback... generates a distributor postCommand.
|
| void | multFileRequestedCb (const DtFomModuleRequestMsg &msg) |
| | File requested callback... generates a distributor postCommand.
|
| void | pushFomModuleToJoinedFederates (DtFederate *newFederate, DtString fileName, unsigned int fileSize, const char *fileBuffer) |
| | Push a FOM Module to all joined federates except the one specified.
|
| void | pushFomModuleToSingleFederate (DtFederateHandle recipient, DtString fileName, unsigned int fileSize, const char *fileBuffer) |
| | Push a FOM Module to the given federate.
|
| virtual void | processRequestedModulesArrived (const DtRequestedModulesArrivedEvent &e) |
| | Process arrival of requested FOM Modules.
|
| virtual void | processFedFileRequestMsg (const DtFedFileRequestMsgEvent &e) |
| | Process FED file requests.
|
| virtual void | processFileTransfer (const DtFedExTakeFileEvent &e) |
| | Process file transfers.
|
virtual
DtFederateHandleInfoMap const & | federates () const |
| | Returns the list of federates for this fed exec.
|
| virtual void | disableNetworkTesting () |
| | Disable network testing at federate.
|
| virtual void | enableNetworkTesting () |
| | Enable network testing at federate.
|
| virtual void | changeLatencyTestMode (DtFederateHandle handle, bool runTest, bool continuous, bool haltContinuous, bool observing, unsigned int interactionPeriod, unsigned int numInteractions, unsigned int payloadBytes) |
| | Changes the latency test mode for the specified federate.
|
| virtual bool | transferRidParams (DtFederateHandle handle, const DtString &ridString) |
| | Transfer RID parameters over network.
|
Static Public Member Functions |
| static void | multFileReceivedExecCb (const DtFomModuleDistExecMsg &msg, void *usr) |
| | File received callback... generates a distributor postCommand.
|
| static void | multFileReceivedCb (const DtFomModuleDistributionMsg &msg, void *usr) |
| | File received callback... generates a distributor postCommand.
|
| static void | multFileRequestedCb (const DtFomModuleRequestMsg &msg, void *usr) |
| | File requested callback... generates a distributor postCommand.
|
| static DtFedExec * | create (DtConnectionMgr *connMgr, const std::vector< unsigned int > &crcs, DtString const &fedExName, std::string const &timeImplName, MAKRti::DtFomType fedType, DtString const &momModuleName, const std::vector< DtString > &fomModules, int fedExHandle, DtRIDParameters *params, unsigned int momModuleCrc) |
| | Creates an instance of a DtFedExec;.
|
| static void | setCreatorFunction (DtFedExecCreator creator) |
| | Call this function to set an alternate creator function With this function, users can replace this DtFedExec with their own derived class.
|
| static void | init (DtRtiAssistantExecClient *assistant) |
|
Static methods to install in connection manager to process message callbacks
|
| static void | processJoinMsg (const DtJoinMsg &msg, void *usr) |
| static void | processJoinConfirm (const DtJoinConfirmMsg &msg, void *usr) |
| static void | processAlive (const DtAliveMsg &msg, void *usr) |
| static void | processResign (const DtResignMsg &msg, void *usr) |
| static void | processSyncPoint (const DtSyncPointMsg &msg, void *usr) |
| static void | processSyncPointQuery (const DtSyncPointQueryMsg &msg, void *usr) |
| static void | processSaveRequest (const DtSaveRequestMsg &msg, void *usr) |
| static void | processInitiatedSave (const DtInitiatedSaveMsg &msg, void *usr) |
| static void | processSaveComplete (const DtSaveCompleteMsg &msg, void *usr) |
| static void | processSaveBegun (const DtSaveBegunMsg &msg, void *usr) |
| static void | processAbortSave (const DtAbortSaveMsg &msg, void *usr) |
| static void | processRestoreRequest (const DtRestoreRequestMsg &msg, void *usr) |
| static void | processRestoreBegun (const DtRestoreBegunMsg &msg, void *usr) |
| static void | processRestoreComplete (const DtRestoreCompleteMsg &msg, void *usr) |
| static void | processAbortRestore (const DtAbortRestoreMsg &msg, void *usr) |
| static void | processOwnership (const DtOwnershipMsg &msg, void *usr) |
| static void | processReserveName (DtReserveNameMsg const &msg, void *usr) |
| static void | processReserveMultiName (DtReserveMultiNameMsg const &msg, void *usr) |
| static void | processReleaseMultiName (DtReleaseMultiNameMsg const &msg, void *usr) |
| static void | processQuerySaveStatus (DtQuerySaveStatusMsg const &msg, void *usr) |
| static void | processQueryRestoreStatus (DtQueryRestoreStatusMsg const &msg, void *usr) |
Protected Member Functions |
| | DtFedExec (DtConnectionMgr *connMgr, const std::vector< unsigned int > &crcs, DtString const &fedExName, std::string const &timeImplName, MAKRti::DtFomType fedType, const DtString &momModuleName, const std::vector< DtString > &modules, int fedExHandle, DtRIDParameters *params, unsigned int momModuleCrc) |
| | Constructor.
|
virtual const std::map
< unsigned long, std::vector
< DtString > * > & | joinFomModules () const |
| | Returns the joinfomModules names associated w/ the fedex.
|
| virtual std::vector< DtString > & | joinFomModulesForConnection (unsigned long connID) const |
virtual const std::vector
< DtString > & | createFomModules () const |
| | Returns the joinfomModules names associated w/ the fedex.
|
| virtual void | processRegisterSyncPoint (const DtSyncPointMsg &msg) |
| | Process sync point registration.
|
| virtual void | processAchievedSyncPoint (const DtSyncPointMsg &msg) |
| | Process sync point achieved.
|
| virtual void | createSyncPoint (const DtSyncPointMsg &msg) |
| | Create a sync point.
|
| virtual void | processSyncPtAchievedCallbacks (DtSyncPt *point, DtFederate *federate) |
| | Process the callbacks registered for federates achieving sync points.
|
| virtual void | processFederationSynchronizedCallbacks (DtSyncPt *point) |
| | Process the callbacks registered for federates achieving sync points.
|
| virtual bool | synchronized (DtSyncPt *point, DtFederateHandleSet &unsuccessfulSet) const |
| | Return true if we've reached synchronization for this point, false otherwise.
|
| virtual void | sendSyncPointReport (const DtSyncPointQueryMsg &msg) |
| | Send MOM report synchronization point interaction.
|
| virtual void | sendSyncPointStatusReport (const DtSyncPointQueryMsg &msg) |
| | Send MOM report synchronization point status interaction.
|
| virtual DtFederate * | addFederate (const char *federateType, const char *federateName, DtFederateHandle handle, unsigned long connHandle, int astntCompId, const char *fedHostName, MAKRti::DtInetAddr host, DtHlaVersionId hlaVersion) |
| | Add a federate to the federation.
|
| virtual DtFederate * | createFederate (const char *federateType, const char *federateName, DtFederateHandle handle, unsigned long connHandle, int astntCompId, const char *fedHostname, MAKRti::DtInetAddr host, DtHlaVersionId hlaVersion) |
| | Create a new federate.
|
| virtual bool | isMember (DtFederateHandle handle) const |
| | Returns true if the given federate is a member of this federation.
|
| virtual bool | deleteFederate (DtFederateHandle handle) |
| | Removes the indicated federate from the federation execution, and deletes the corresponding DtFederate object.
|
| virtual void | readCreateFoms (DtFomClassMgr *topLvlTgt, std::vector< DtString > &fomFiles, DtCreateResponseFlag &response, DtString &errorResponseString, DtFedReadStatus &status, DtFomSorter *myFomSorter) |
| | Federation Execution Processing.
|
| virtual void | readJoinFoms (std::vector< DtString > &fomFiles, DtJoinResponseMsg::errorCodes &response, DtString &errorResponseString, DtFedReadStatus &status, DtFomSorter *myFomSorter) |
| | Maps passed in FOM file names to corresponding fed targets for join.
|
| virtual bool | processCreateReady () |
| | Perform processing when create is ready.
|
| virtual bool | processJoin (unsigned long connID, const DtFedJoinInfo *fedInfo) |
| | Process a join Return true if successful; otherwise, false.
|
| virtual void | processJoinReady () |
| | Perform processing when a join is ready.
|
| virtual void | destroyDistributor () |
| | Destroy Fed File Distributor for federation.
|
virtual
DtAsyncFileDistributorRunnable * | distributor () const |
| | Return a pointer to the distributor.
|
| virtual unsigned int | numberFederatesAllowed (unsigned int numPartners) const |
| | Given the number of partners allowed by a joining federate, determines the number of federates allowed in the federation.
|
| virtual void | resetControl () |
| | Reset control.
|
| virtual bool | tickDistributor () |
| | Tick the distributor.
|
| virtual bool | processEvents () |
| | Process events from asynchronous thread.
|
| DtFedReader * | getReader (DtFomType theFomType) |
| DtFedReader * | getReader (DtFomType theFomType, DtFomClassMgr *target) |
| void | populateWithUnknownFoms (std::vector< DtString > &mods, std::vector< DtString > &requestedMods) |
| bool | isFomAvailable (const DtString &fomName) |
| bool | doesCrcMatchKnownFomModuleCrc (const DtString &fomName, unsigned int myTakenFomCrc) |
| virtual bool | fedFileReady (const MAKRti::DtString &fileName) const |
| | Return boolean: File has been received and is ready to process.
|
| virtual bool | fedFilesReady (const std::vector< MAKRti::DtString > *fileNames) const |
| | Return boolean: Files have been received and is ready to process.
|
| virtual bool | addJoinFomModuleForConnection (unsigned long connId, const std::vector< MAKRti::DtString > &modulesFromJoinRequest) |
| | Add the given FOM Module request to the given connection's list.
|
| virtual void | removeJoinFomModuleForConnection (unsigned long connID) |
| | Remove the given FOM Module request to the given connection's list.
|
| virtual void | tickSaveRestore () |
| | Tick actions.
|
| virtual void | tickJoin () |
| | Periodically send a join response to prod unconfirmed federate joins This polling mechanism compensates for dropped messages.
|
| virtual void | tickFederates () |
| | Check if the interval since the last heartbeat for any federate has exceeded the timeout.
|
| virtual void | retireSyncPoint (const char *name) |
| | DtTIME.
|
| virtual void | announceAllSyncPoints (DtFederateHandle hand) |
| | Called when new federates join to announce to them all of the currently existing synch points that involve them.
|
| virtual void | checkTimedSave () |
| | Initiate save if conditions for timed save have been meet.
|
| virtual void | initiateSave (const char *label) |
| | Initiates the save of the federation, including the fedex.
|
| virtual bool | save (const char *label) |
| | saves the fedex Return boolean: save was successful?
|
| virtual int | initializeRestore (const char *label) |
| | Initializes the restore label Returns status: 0 : OK, -1 : failed to open save label, -2 : failed to configure.
|
| virtual bool | restore (const char *label) |
| | restores the fedex Return boolean: save was successful?
|
| virtual void | endSave (DtSaveFinishedResult result) |
| | finish the save
|
| virtual void | endRestore (DtEndRestoreResult restoreResult) |
| | finish the restore
|
| virtual DtString & | getSaveFileName (const char *label, MAKRti::DtString &fileName, bool extendName=true) |
| | Create a restore file name from the label and return in supplied parameter.
|
| virtual DtString & | getRestoreFileName (const char *label, MAKRti::DtString &fileName) |
| | Create a restore file name from the label and return in supplied parameter.
|
| virtual int | getNextFreeFedHandle () |
| | Used internally to get the next available Federate Id within this federation.
|
| | DtFedExec () |
| | Default Ctor disabled.
|
| | DtFedExec (const DtFedExec &orig) |
| | Copy and assignment operators are disabled.
|
| DtFedExec & | operator= (DtFedExec const &orig) |
|
Actual methods used to process message callbacks
|
| virtual void | processJoinMsg (const DtJoinMsg &msg) |
| virtual bool | handleJoinFailureCases (const DtJoinMsg &msg) |
| virtual void | requestFedFileUpload (const DtJoinMsg &msg) |
| virtual void | processJoinConfirm (const DtJoinConfirmMsg &msg) |
| virtual void | processAlive (const DtAliveMsg &msg) |
| virtual void | processResign (const DtResignMsg &msg) |
| virtual void | processSyncPoint (const DtSyncPointMsg &msg) |
| virtual void | processSyncPointQuery (const DtSyncPointQueryMsg &msg) |
| virtual void | processSaveRequest (const DtSaveRequestMsg &msg) |
| virtual void | processInitiatedSave (const DtInitiatedSaveMsg &msg) |
| virtual void | processSaveComplete (const DtSaveCompleteMsg &msg) |
| virtual void | processSaveBegun (const DtSaveBegunMsg &msg) |
| virtual void | processAbortSave (const DtAbortSaveMsg &msg) |
| virtual void | processRestoreRequest (const DtRestoreRequestMsg &msg) |
| virtual void | processRestoreBegun (const DtRestoreBegunMsg &msg) |
| virtual void | processRestoreComplete (const DtRestoreCompleteMsg &msg) |
| virtual void | processAbortRestore (const DtAbortRestoreMsg &msg) |
| virtual void | processOwnership (const DtOwnershipMsg &msg) |
| virtual void | processReserveName (DtReserveNameMsg const &msg) |
| virtual void | processReserveMultiName (DtReserveMultiNameMsg const &msg) |
| virtual void | processReleaseMultiName (DtReleaseMultiNameMsg const &msg) |
| virtual void | processQuerySaveStatus (DtQuerySaveStatusMsg const &msg) |
| virtual void | processQueryRestoreStatus (DtQueryRestoreStatusMsg const &msg) |
|
Send an RTI message of the appropriate kind with the given parameters.
|
| virtual void | sendSyncPointMsg (DtSyncMsgType kind, int id, DtSyncPointStatus status, const char *name, RTINAMESPACE::VariableLengthData const *theTag=NULL, const DtFederateHandleSet *set=NULL, const DtFederateHandleSet *unsuccessfulSet=NULL) |
| virtual void | sendResignMsg (const char *name, DtFederateHandle fedHandle, DtResignAction action, DtResignReason reason, const DtTimeInfo *timeInfo) |
| virtual void | sendEnableDisableNetworkTestingMsg (const char *name, bool enabled) |
| virtual void | sendTransferRidParamsMsg (const char *name, DtFederateHandle fedHandle, const DtString ¶mString) |
| virtual void | sendJoinResponseMsg (unsigned long destinationIDValue, unsigned short requestID, unsigned int crcOfFedFile, DtFederateHandle handle, const char *federateName, int fedExHandle, const char *fedExName, const DtString &momModule, const std::vector< MAKRti::DtString > &modules, unsigned long flags, bool allowNetworkTesting, bool enableNetworkTesting, DtHlaVersionId hlaVers, DtJoinResponseMsg::errorCodes errorValue=DtJoinResponseMsg::DT_NO_ERROR, const DtString &errorString=DtString::nullString()) |
| virtual void | sendResignResponseMsgIfNecessary (const DtResignMsg &msg, DtResignResponse response, DtFederateHandle fedHandle) |
| virtual void | sendSaveInitiateMsg (const char *labelVal) |
| virtual void | sendSaveInitiateConstrainedMsg (const char *labelVal) |
| virtual void | sendSaveResponse (DtFederateHandle fedHandle, unsigned long requestID, const char *labelVal, DtSaveResponseFlag response) |
| virtual void | sendDesignatedFederate (DtFederateHandle fedHandle) |
| virtual void | sendNameReservedMsg (DtFederateHandle requestingFederate, char const *objectName, bool result) |
| virtual void | sendMultiNameReservedMsg (DtFederateHandle requestingFederate, std::set< std::wstring > const &objectNames, bool result) |
| virtual void | sendRestoreStatus (DtFederateHandle requestingFederate, RTINAMESPACE::FederateRestoreStatusVector const &restoreStatusList) |
| virtual void | sendSaveStatus (DtFederateHandle requestingFederate, RTINAMESPACE::FederateHandleSaveStatusPairVector const &saveStatusList) |