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

Public Member Functions

virtual ~DtFedExec ()
 Destructor. More...
 
virtual DtConnectionMgrconnectMgr ()
 Returns the connection mgr. More...
 
virtual DtLogicalTimeFactoryfedTimeFactory ()
 Returns the time factory. More...
 
virtual const DtString & fedExName () const
 Returns the name of the this federation execution. More...
 
virtual int fedExHandle () const
 Returns the handle of this federation execution. More...
 
virtual const DtString & fedFileName () const
 Returns the name of the FED file that was associated with the federation execution at creation time. More...
 
virtual const std::vector
< DtString > & 
fomModules () const
 Returns the fomModules names associated w/ the fedex. More...
 
virtual bool fullyCreated () const
 Return boolean: Federation execution creation is complete. More...
 
virtual void setFullyCreated (bool val)
 Set completion status. More...
 
virtual unsigned long creatorID () const
 Set the ID for who created this federation execution. More...
 
virtual void createDistributor (const unsigned long initiatingFedID, const DtString &momModuleName, const std::vector< DtString > &fomModules)
 Create Fed File Distributor for federation. More...
 
virtual int numFederates () const
 Returns the total number of federates joined to this federation. More...
 
virtual DtFederategetFederate (DtFederateHandle handle)
 Returns the DtFederate object representing the joined federate with the indicated handle. More...
 
virtual DtFedJoinInfo * getJoiningFederate (DtFederateHandle handle)
 Returns the DtFederate object representing a federate that is joining with the indicated handle. More...
 
virtual DtFederateHandle federateHandleOfConnection (unsigned long connId) const
 Return the connection's federate handle if joined to this federation; otherwise, 0. More...
 
virtual void disconnectFederate (DtFederate *fed)
 Mark federate as attempting to reconnect. More...
 
virtual bool removeFederateConnection (unsigned long id)
 Removes the federate with the given connection ID. More...
 
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. More...
 
virtual bool resignFederate (DtFederateHandle handle, DtResignAction action, DtResignReason reason)
 Resign the given federate from the federation. More...
 
virtual void resetClockForHeartBeat ()
 This should only be called when the rtiExec has reconnected. More...
 
virtual bool tick ()
 Tick the federation execution. More...
 
virtual void printFederates ()
 Print the list of federates for each federation execution. More...
 
virtual void addFederateJoinedCallback (DtFederateCbFn fn, void *usr)
 Register callback to be invoked whenever a federate joins a federation. More...
 
virtual void removeFederateJoinedCallback (DtFederateCbFn fn, void *usr)
 Remove callback to be invoked whenever a federate joins a federation. More...
 
virtual void addFederateResignedCallback (DtFederateCbFn fn, void *usr)
 Register callback to be invoked whenever a federate resigns a federation. More...
 
virtual void removeFederateResignedCallback (DtFederateCbFn fn, void *usr)
 Remove callback to be invoked whenever a federate resigns a federation. More...
 
virtual void addSyncPtRegisteredCallback (DtSyncPointCbFn fn, void *usr)
 Register a callback to be invoked whenever a new sync point has been registered. More...
 
virtual void removeSyncPtRegisteredCallback (DtSyncPointCbFn fn, void *usr)
 Unregister a callback to be invoked whenever a new sync point has been registered. More...
 
virtual void addSyncPtAchievedCallback (DtSyncPointAchievedCbFn fn, void *usr)
 Register a callback to be invoked whenever a federate has achieved a sync point. More...
 
virtual void removeSyncPtAchievedCallback (DtSyncPointAchievedCbFn fn, void *usr)
 Unregister a callback to be invoked whenever a federate has achieved a sync point. More...
 
virtual void addFederationSynchronizedCallback (DtSyncPointCbFn fn, void *usr)
 Register a callback to be invoked whenever all federates has achieved a sync point. More...
 
virtual void removeFederationSynchronizedCallback (DtSyncPointCbFn fn, void *usr)
 Unregister a callback to be invoked whenever all federates has achieved a sync point. More...
 
virtual void addFederateDisconnectedCallback (DtFederateCbFn fn, void *usr)
 Register callbacks for federate disconnected. More...
 
virtual void removeFederateDisconnectedCallback (DtFederateCbFn fn, void *usr)
 Unregister callbacks for federate disconnected. More...
 
virtual void addFederateReconnectSucceededCallback (DtFederateCbFn fn, void *usr)
 
virtual void removeFederateReconnectSucceededCallback (DtFederateCbFn fn, void *usr)
 
virtual void addFederateReconnectFailedCallback (DtFederateHandleCbFn fn, void *usr)
 
virtual void removeFederateReconnectFailedCallback (DtFederateHandleCbFn fn, void *usr)
 
void multFileReceivedCb (const DtFomModuleDistributionMsg &msg)
 File received callback... generates a distributor postCommand. More...
 
void multFileRequestedCb (const DtFomModuleRequestMsg &msg)
 File requested callback... generates a distributor postCommand. More...
 
void pushFomModuleToJoinedFederates (DtFederate *newFederate, DtString fileName, unsigned int fileSize, const char *fileBuffer)
 Push a FOM Module to all joined federates except the one specified. More...
 
void pushFomModuleToSingleFederate (DtFederateHandle recipient, DtString fileName, unsigned int fileSize, const char *fileBuffer)
 Push a FOM Module to the given federate. More...
 
virtual void processRequestedModulesArrived (const DtRequestedModulesArrivedEvent &e)
 Process arrival of requested FOM Modules. More...
 
virtual void processFedFileRequestMsg (const DtFedFileRequestMsgEvent &e)
 Process FED file requests. More...
 
virtual void processFileTransfer (const DtFedExTakeFileEvent &e)
 Process file transfers. More...
 
virtual
DtFederateHandleInfoMap const & 
federates () const
 Returns the list of federates for this fed exec. More...
 
virtual void getFederateList (DtReportFederationMembersMsg::DtFederateList &federates) const
 Returns the list of federates for this fed exec. More...
 
virtual void disableNetworkTesting ()
 Disable network testing at federate. More...
 
virtual void enableNetworkTesting ()
 Enable network testing at federate. More...
 
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. More...
 
virtual bool transferRidParams (DtFederateHandle handle, const DtString &ridString)
 Transfer RID parameters over network. More...
 

Static Public Member Functions

static void multFileReceivedExecCb (const DtFomModuleDistExecMsg &msg, void *usr)
 File received callback... generates a distributor postCommand. More...
 
static void multFileReceivedCb (const DtFomModuleDistributionMsg &msg, void *usr)
 File received callback... generates a distributor postCommand. More...
 
static void multFileRequestedCb (const DtFomModuleRequestMsg &msg, void *usr)
 File requested callback... generates a distributor postCommand. More...
 
static DtFedExeccreate (DtRtiExec *rtiexec, 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;. More...
 
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. More...
 
static void init (DtRtiAssistantExecClient *assistant)
 
Static RTI message callbacks

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 processResignDirective (const DtResignDirectiveMsg &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 Types

typedef std::set< std::string > DtFedExReservedNameSet
 
typedef std::map
< DtFederateHandle,
DtFedExReservedNameSet
DtFedExFederateReservedNameMap
 

Protected Member Functions

 DtFedExec (DtRtiExec *rtiexec, 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. More...
 
virtual const std::map
< unsigned long, std::vector
< DtString > * > & 
joinFomModules () const
 Returns the joinfomModules names associated w/ the fedex. More...
 
virtual std::vector< DtString > & joinFomModulesForConnection (unsigned long connID) const
 
virtual const std::vector
< DtString > & 
createFomModules () const
 Returns the joinfomModules names associated w/ the fedex. More...
 
virtual void reconnectFederateSucceeded (DtFederate *fed)
 Federate successfully reconnected. More...
 
virtual void reconnectFederateFailed (DtFederateHandle federateHandle)
 Federate failed to reconnect. More...
 
virtual void processRegisterSyncPoint (const DtSyncPointMsg &msg)
 Process sync point registration. More...
 
virtual void processAchievedSyncPoint (const DtSyncPointMsg &msg)
 Process sync point achieved. More...
 
virtual void createSyncPoint (const DtSyncPointMsg &msg)
 Create a sync point. More...
 
virtual void processSyncPtAchievedCallbacks (DtSyncPt *point, DtFederate *federate)
 Process the callbacks registered for federates achieving sync points. More...
 
virtual void processFederationSynchronizedCallbacks (DtSyncPt *point)
 Process the callbacks registered for federates achieving sync points. More...
 
virtual bool synchronized (DtSyncPt *point, DtFederateHandleSet &unsuccessfulSet) const
 Return true if we've reached synchronization for this point, false otherwise. More...
 
virtual void sendSyncPointReport (const DtSyncPointQueryMsg &msg)
 Send MOM report synchronization point interaction. More...
 
virtual void sendSyncPointStatusReport (const DtSyncPointQueryMsg &msg)
 Send MOM report synchronization point status interaction. More...
 
virtual DtFederateaddFederate (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. More...
 
virtual DtFederatecreateFederate (const char *federateType, const char *federateName, DtFederateHandle handle, unsigned long connHandle, int astntCompId, DtResignAction resignAction, const char *fedHostname, MAKRti::DtInetAddr host, DtHlaVersionId hlaVersion)
 Create a new federate. More...
 
virtual bool isMember (DtFederateHandle handle) const
 Returns true if the given federate is a member of this federation. More...
 
virtual bool deleteFederate (DtFederateHandle handle)
 Removes the indicated federate from the federation execution, and deletes the corresponding DtFederate object. More...
 
virtual DtFedReadStatus readCreateFom (DtFomClassMgr *target, const DtString &fomFile, bool addToMap, DtCreateResponseFlag &response, DtString &errorResponseString)
 Federation Execution Processing. More...
 
virtual DtFedReadStatus readCreateFoms (DtFomClassMgr *topLevelTarget, std::vector< DtString > &fomFiles, DtCreateResponseFlag &response, DtString &errorResponseString)
 Read createFederation FOMs into FOM targets and collect mapping between file names and targets Top level target will be MOM if present or first FOM in list Return the read status and fill in the create response and error string if an error occurs. More...
 
virtual DtFedReadStatus readJoinFom (DtFomClassMgr *target, const DtString &fomFile, DtJoinResponseMsg::errorCodes &response, DtString &errorResponseString)
 Read the FOM file into the given target using the reader if provided (or get reader based on file) More...
 
virtual DtFedReadStatus readJoinFoms (std::vector< DtString > &fomFiles, DtJoinResponseMsg::errorCodes &response, DtString &errorResponseString)
 Read joinFederation FOMs into FOM targets and collect mapping between file names and targets Return the read status and fill in the join response and error string if an error occurs. More...
 
virtual bool processCreateReady ()
 Perform processing when create is ready. More...
 
virtual bool processJoin (unsigned long connID, const DtFedJoinInfo *fedInfo)
 Process a join Return true if successful; otherwise, false. More...
 
virtual void processJoinReady ()
 Perform processing of a joining federate when it is ready (i.e., all its FOM modules have been received) Joins taking too long are removed! More...
 
virtual void destroyDistributor ()
 Destroy Fed File Distributor for federation. More...
 
virtual
DtAsyncFileDistributorRunnable
distributor () const
 Return a pointer to the distributor. More...
 
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. More...
 
virtual void resetControl ()
 Reset control. More...
 
virtual bool tickDistributor ()
 Tick the distributor. More...
 
virtual bool processEvents ()
 Process events from asynchronous thread. More...
 
virtual bool areJoinFomModulesUploadedAndReady (unsigned long federateId)
 Determine if federate either has no join fom modules or they are uploaded ready. More...
 
virtual DtCreateResponseFlag handleCreateResponse (DtFedReadStatus status, const DtFedReader *fedReader, const DtString filename, DtString &errorResponse) const
 Handle the given read result for the given FOM file and return the corresponding message create response. More...
 
virtual
DtJoinResponseMsg::errorCodes 
handleJoinResponse (DtFedReadStatus status, const DtFedReader *fedReader, const DtString filename, DtString &errorResponse) const
 Handle the given read result for the given FOM file and return the corresponding message create response. More...
 
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. More...
 
virtual bool fedFilesReady (const std::vector< MAKRti::DtString > &fileNames) const
 Return boolean: Files have been received and is ready to process. More...
 
virtual bool addJoinFomModuleForConnection (unsigned long connId, const std::vector< MAKRti::DtString > &modulesFromJoinRequest)
 Add the given FOM Module request to the given connection's list. More...
 
virtual void removeJoinFomModuleForConnection (unsigned long connID)
 Remove the given FOM Module request to the given connection's list. More...
 
virtual void updateNewClassesToJoinedFederates (DtFomClassMgr *target, DtFederateHandle joiningFederate)
 Update joined federates with new classes from the given joining federate's FOM module. More...
 
virtual void handleBadJoin (unsigned long connID, const DtFedJoinInfo *joinInfo, std::vector< DtString > &joinModules, DtJoinResponseMsg::errorCodes &response, DtString &errorResponseString)
 Clean up and send response for bad join. More...
 
virtual void readAndMergeJoiningFomModules (unsigned long connID, DtFomClassMgr *target, DtJoinResponseMsg::errorCodes &response, DtString &errorResponseString)
 Read and merge the joining federate's FOM modules. More...
 
virtual void tickSaveRestore ()
 Tick actions. More...
 
virtual void tickJoin ()
 Periodically send a join response to prod unconfirmed federate joins This polling mechanism compensates for dropped messages. More...
 
virtual void tickFederates ()
 Check if the interval since the last heartbeat for any federate has exceeded the timeout. More...
 
virtual void retireSyncPoint (const char *name)
 DtTIME. More...
 
virtual void announceAllSyncPoints (DtFederateHandle hand)
 Called when new federates join to announce to them all of the currently existing synch points that involve them. More...
 
virtual void checkTimedSave ()
 Initiate save if conditions for timed save have been meet. More...
 
virtual void initiateSave (const char *label)
 Initiates the save of the federation, including the fedex. More...
 
virtual bool save (const char *label)
 saves the fedex Return boolean: save was successful? More...
 
virtual int initializeRestore (const char *label)
 Initializes the restore label Returns status: 0 : OK, -1 : failed to open save label, -2 : failed to configure. More...
 
virtual bool restore (const char *label)
 restores the fedex Return boolean: save was successful? More...
 
virtual void endSave (DtSaveFinishedResult result)
 finish the save More...
 
virtual void endRestore (DtEndRestoreResult restoreResult)
 finish the restore More...
 
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. More...
 
virtual DtString & getRestoreFileName (const char *label, MAKRti::DtString &fileName)
 Create a restore file name from the label and return in supplied parameter. More...
 
virtual bool authorizeFederateOperation (const DtJoinMsg &msg, DtString &errorMessage)
 Process authorization of the given credentials for create federation service. More...
 
virtual int getNextFreeFedHandle ()
 Used internally to get the next available Federate Id within this federation. More...
 
 DtFedExec ()
 Default Ctor disabled. More...
 
 DtFedExec (const DtFedExec &orig)
 Copy and assignment operators are disabled. More...
 
DtFedExecoperator= (DtFedExec const &orig)
 
RTI message callbacks

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 processResignDirective (const DtResignDirectiveMsg &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 RTI messages

Send an RTI message of the appropriate kind with the given parameters.

virtual void sendSyncPointMsg (DtSyncMsgType kind, int id, DtSyncPointStatus status, const char *name, RTI_API::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 &paramString)
 
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, DtRtiApiFederateRestoreStatusVector const &restoreStatusList)
 
virtual void sendSaveStatus (DtFederateHandle requestingFederate, RTI_API::FederateHandleSaveStatusPairVector const &saveStatusList)
 

Protected Attributes

DtRtiExecmyRtiexec
 
unsigned int myCrcOfFedFile
 
int myFreeFedHandle
 
std::vector< bool > myFedHandlesInUse
 
bool myUseDestinationMetadata
 
DtString myFedExName
 
DtFederateHandleInfoMap myFederates
 
DtFederateNameInfoMap myFederatesByName
 
std::map< MAKRti::DtString,
DtFederateHandle
myFederateHdlsByName
 
int myNumFederates
 
DtSyncHashlist mySyncList
 
DtString myMomModule
 
unsigned int myMomModuleCrc
 
std::vector< unsigned int > myCreationFedFilesCRCs
 
MAKRti::DtFomType myFedType
 
std::vector< DtString > myFomModules
 
std::map< DtString, unsigned int > myFomModulesNameToCrcMap
 
std::set< DtString > myFomModulesSet
 
std::vector< DtString > myCreateFomModules
 
std::map< unsigned long,
std::vector< DtString > * > 
myJoinFomModules
 
DtFomClassMgrmyFom
 
int myFedExHandle
 
DtFederateHandle myDesignatedFederate
 
float myFederateTimeoutInterval
 
DtResignAction myResignAction
 
bool myAllowResignActionOverride
 
std::map< DtFederateHandle,
DtFedJoinInfo * > 
myJoiningFederates
 List of joining federates waiting to be processed and confirmed. More...
 
std::map< unsigned long,
DtFedJoinInfo * > 
myJoiningFederatesByID
 
std::set< unsigned long > myConnectionsJoinProcessed
 
int myNumberResponseAttempts
 Response interval from params is divided by this number. More...
 
float myResponseInterval
 to obtain response retransmission interval More...
 
bool mySave
 
bool myRestore
 
DtFederateHandleStdSet myPendingSaveFederates
 
DtFederateHandleStdSet myInitiatedSaveFederates
 
DtString mySaveLabel
 
DtFederateHandle mySavingFederate
 
DtFederateHandleStdSet myPendingRestoreFederates
 
DtFederateHandleInfoMap myRestoreFederatesByOld
 
DtFederateHandleInfoMap myRestoreFederatesByNew
 
DtString mySavePath
 
bool mySavePending
 
bool mySaveBegun
 
std::map< DtString,
DtFileInformation * > 
myTakenFiles
 
std::map< const DtString,
DtFomClassMgr
myFedexFileToFedTgtMap
 
std::map< DtString,
DtFedReadStatus > 
myFomToReadStatusMap
 
std::map< unsigned long, bool > myFedRequests
 
bool myAwaitingCreateUpload
 
unsigned long myCreatorConnId
 
std::set< unsigned long > myAwaitingJoinUpload
 
bool myFullyCreated
 
int myTimeout
 
int myDefaultWait
 
DtList myJoinCallbacks
 
DtList myResignCallbacks
 
DtList myDisconnectCallbacks
 
DtList myReconnectSucceededCallbacks
 
DtList myReconnectFailedCallbacks
 
DtList myFedSynchronizedCallbacks
 
DtList mySpAchievedCallbacks
 
DtList mySpRegisterCallbacks
 
DtFedExReservedNameSet myReservedNames
 
DtFedExFederateReservedNameMap myFederateReservedNames
 
vrlmod::DtThreadedObjectmyDistributorThread
 DtTIME. More...
 
DtAsyncFileDistributorRunnablemyDistributor
 
bool myDistributeFedFile
 
bool myCrcCheckFedFile
 
unsigned long myInitiatorID
 
int myStrictNameReservation
 
bool myAllowNetworkTesting
 Whether network testing is enabled or completely disabled by the RID. More...
 
bool myNetworkTestingEnabled
 Whether network testing has been toggled on/off by the assistant. More...
 
bool myModulesArrived
 
DtClock myClock
 
unsigned int myNumberFederatesAllowed
 
DtFedReader13 * myFedReader13
 
DtFedReader1516 * myFedReader1516
 
DtFedReader1516e * myFedReader1516e
 
DtFedReader1516_4 * myFedReader1516_2025
 

Static Protected Attributes

static const std::vector
< DtString > 
theEmptyStringSet
 
static DtFedExecCreator theCreator
 

Private Attributes

bool myFullFedFileDistribution
 

Static Private Attributes

static const DtString nullStr
 
static const DtFederateHandle theFederationShadowHandle
 

Member Typedef Documentation

typedef std::set<std::string> DtFedExec::DtFedExReservedNameSet
protected

Constructor & Destructor Documentation

DtFedExec::DtFedExec ( DtRtiExec rtiexec,
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 
)
protected

Constructor.

virtual DtFedExec::~DtFedExec ( )
virtual

Destructor.

DtFedExec::DtFedExec ( )
protected

Default Ctor disabled.

DtFedExec::DtFedExec ( const DtFedExec orig)
protected

Copy and assignment operators are disabled.

Member Function Documentation

virtual DtFederate* DtFedExec::addFederate ( const char *  federateType,
const char *  federateName,
DtFederateHandle  handle,
unsigned long  connHandle,
int  astntCompId,
const char *  fedHostName,
MAKRti::DtInetAddr  host,
DtHlaVersionId  hlaVersion 
)
protectedvirtual

Add a federate to the federation.

virtual void DtFedExec::addFederateDisconnectedCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual

Register callbacks for federate disconnected.

virtual void DtFedExec::addFederateJoinedCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual

Register callback to be invoked whenever a federate joins a federation.

virtual void DtFedExec::addFederateReconnectFailedCallback ( DtFederateHandleCbFn  fn,
void *  usr 
)
virtual
virtual void DtFedExec::addFederateReconnectSucceededCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual
virtual void DtFedExec::addFederateResignedCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual

Register callback to be invoked whenever a federate resigns a federation.

virtual void DtFedExec::addFederationSynchronizedCallback ( DtSyncPointCbFn  fn,
void *  usr 
)
virtual

Register a callback to be invoked whenever all federates has achieved a sync point.

virtual bool DtFedExec::addJoinFomModuleForConnection ( unsigned long  connId,
const std::vector< MAKRti::DtString > &  modulesFromJoinRequest 
)
protectedvirtual

Add the given FOM Module request to the given connection's list.

virtual void DtFedExec::addSyncPtAchievedCallback ( DtSyncPointAchievedCbFn  fn,
void *  usr 
)
virtual

Register a callback to be invoked whenever a federate has achieved a sync point.

virtual void DtFedExec::addSyncPtRegisteredCallback ( DtSyncPointCbFn  fn,
void *  usr 
)
virtual

Register a callback to be invoked whenever a new sync point has been registered.

virtual void DtFedExec::announceAllSyncPoints ( DtFederateHandle  hand)
protectedvirtual

Called when new federates join to announce to them all of the currently existing synch points that involve them.

virtual bool DtFedExec::areJoinFomModulesUploadedAndReady ( unsigned long  federateId)
protectedvirtual

Determine if federate either has no join fom modules or they are uploaded ready.

virtual bool DtFedExec::authorizeFederateOperation ( const DtJoinMsg msg,
DtString &  errorMessage 
)
protectedvirtual

Process authorization of the given credentials for create federation service.

virtual void DtFedExec::changeLatencyTestMode ( DtFederateHandle  handle,
bool  runTest,
bool  continuous,
bool  haltContinuous,
bool  observing,
unsigned int  interactionPeriod,
unsigned int  numInteractions,
unsigned int  payloadBytes 
)
virtual

Changes the latency test mode for the specified federate.

virtual void DtFedExec::checkTimedSave ( )
protectedvirtual

Initiate save if conditions for timed save have been meet.

virtual DtConnectionMgr* DtFedExec::connectMgr ( )
virtual

Returns the connection mgr.

static DtFedExec* DtFedExec::create ( DtRtiExec rtiexec,
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 
)
static

Creates an instance of a DtFedExec;.

virtual void DtFedExec::createDistributor ( const unsigned long  initiatingFedID,
const DtString &  momModuleName,
const std::vector< DtString > &  fomModules 
)
virtual

Create Fed File Distributor for federation.

virtual DtFederate* DtFedExec::createFederate ( const char *  federateType,
const char *  federateName,
DtFederateHandle  handle,
unsigned long  connHandle,
int  astntCompId,
DtResignAction  resignAction,
const char *  fedHostname,
MAKRti::DtInetAddr  host,
DtHlaVersionId  hlaVersion 
)
protectedvirtual

Create a new federate.

Override this function when overriding DtFederate.

virtual const std::vector<DtString>& DtFedExec::createFomModules ( ) const
protectedvirtual

Returns the joinfomModules names associated w/ the fedex.

virtual void DtFedExec::createSyncPoint ( const DtSyncPointMsg msg)
protectedvirtual

Create a sync point.

virtual unsigned long DtFedExec::creatorID ( ) const
virtual

Set the ID for who created this federation execution.

virtual bool DtFedExec::deleteFederate ( DtFederateHandle  handle)
protectedvirtual

Removes the indicated federate from the federation execution, and deletes the corresponding DtFederate object.

virtual void DtFedExec::destroyDistributor ( )
protectedvirtual

Destroy Fed File Distributor for federation.

virtual void DtFedExec::disableNetworkTesting ( )
virtual

Disable network testing at federate.

virtual void DtFedExec::disconnectFederate ( DtFederate fed)
virtual

Mark federate as attempting to reconnect.

virtual DtAsyncFileDistributorRunnable* DtFedExec::distributor ( ) const
protectedvirtual

Return a pointer to the distributor.

bool DtFedExec::doesCrcMatchKnownFomModuleCrc ( const DtString &  fomName,
unsigned int  myTakenFomCrc 
)
protected
virtual void DtFedExec::enableNetworkTesting ( )
virtual

Enable network testing at federate.

virtual void DtFedExec::endRestore ( DtEndRestoreResult  restoreResult)
protectedvirtual

finish the restore

virtual void DtFedExec::endSave ( DtSaveFinishedResult  result)
protectedvirtual

finish the save

virtual DtFederateHandle DtFedExec::federateHandleOfConnection ( unsigned long  connId) const
virtual

Return the connection's federate handle if joined to this federation; otherwise, 0.

virtual DtFederateHandleInfoMap const& DtFedExec::federates ( ) const
virtual

Returns the list of federates for this fed exec.

virtual int DtFedExec::fedExHandle ( ) const
virtual

Returns the handle of this federation execution.

virtual const DtString& DtFedExec::fedExName ( ) const
virtual

Returns the name of the this federation execution.

virtual const DtString& DtFedExec::fedFileName ( ) const
virtual

Returns the name of the FED file that was associated with the federation execution at creation time.

virtual bool DtFedExec::fedFileReady ( const MAKRti::DtString &  fileName) const
protectedvirtual

Return boolean: File has been received and is ready to process.

virtual bool DtFedExec::fedFilesReady ( const std::vector< MAKRti::DtString > &  fileNames) const
protectedvirtual

Return boolean: Files have been received and is ready to process.

virtual DtLogicalTimeFactory* DtFedExec::fedTimeFactory ( )
virtual

Returns the time factory.

virtual const std::vector<DtString>& DtFedExec::fomModules ( ) const
virtual

Returns the fomModules names associated w/ the fedex.

virtual bool DtFedExec::fullyCreated ( ) const
virtual

Return boolean: Federation execution creation is complete.

virtual DtFederate* DtFedExec::getFederate ( DtFederateHandle  handle)
virtual

Returns the DtFederate object representing the joined federate with the indicated handle.

Returns nullptr if joined federate with given handle does not exist.

virtual void DtFedExec::getFederateList ( DtReportFederationMembersMsg::DtFederateList federates) const
virtual

Returns the list of federates for this fed exec.

virtual DtFedJoinInfo* DtFedExec::getJoiningFederate ( DtFederateHandle  handle)
virtual

Returns the DtFederate object representing a federate that is joining with the indicated handle.

Returns nullptr if joining federate with given handle does not exist.

virtual int DtFedExec::getNextFreeFedHandle ( )
protectedvirtual

Used internally to get the next available Federate Id within this federation.

DtFedReader* DtFedExec::getReader ( DtFomType  theFomType)
protected
DtFedReader* DtFedExec::getReader ( DtFomType  theFomType,
DtFomClassMgr target 
)
protected
virtual DtString& DtFedExec::getRestoreFileName ( const char *  label,
MAKRti::DtString &  fileName 
)
protectedvirtual

Create a restore file name from the label and return in supplied parameter.

Returns a reference to the supplied parameter

virtual DtString& DtFedExec::getSaveFileName ( const char *  label,
MAKRti::DtString &  fileName,
bool  extendName = true 
)
protectedvirtual

Create a restore file name from the label and return in supplied parameter.

Returns a reference to the supplied parameter

virtual void DtFedExec::handleBadJoin ( unsigned long  connID,
const DtFedJoinInfo *  joinInfo,
std::vector< DtString > &  joinModules,
DtJoinResponseMsg::errorCodes response,
DtString &  errorResponseString 
)
protectedvirtual

Clean up and send response for bad join.

virtual DtCreateResponseFlag DtFedExec::handleCreateResponse ( DtFedReadStatus  status,
const DtFedReader *  fedReader,
const DtString  filename,
DtString &  errorResponse 
) const
protectedvirtual

Handle the given read result for the given FOM file and return the corresponding message create response.

virtual bool DtFedExec::handleJoinFailureCases ( const DtJoinMsg msg)
protectedvirtual
virtual DtJoinResponseMsg::errorCodes DtFedExec::handleJoinResponse ( DtFedReadStatus  status,
const DtFedReader *  fedReader,
const DtString  filename,
DtString &  errorResponse 
) const
protectedvirtual

Handle the given read result for the given FOM file and return the corresponding message create response.

static void DtFedExec::init ( DtRtiAssistantExecClient assistant)
static
virtual int DtFedExec::initializeRestore ( const char *  label)
protectedvirtual

Initializes the restore label Returns status: 0 : OK, -1 : failed to open save label, -2 : failed to configure.

virtual void DtFedExec::initiateSave ( const char *  label)
protectedvirtual

Initiates the save of the federation, including the fedex.

bool DtFedExec::isFomAvailable ( const DtString &  fomName)
protected
virtual bool DtFedExec::isMember ( DtFederateHandle  handle) const
protectedvirtual

Returns true if the given federate is a member of this federation.

virtual const std::map< unsigned long, std::vector<DtString>*>& DtFedExec::joinFomModules ( ) const
protectedvirtual

Returns the joinfomModules names associated w/ the fedex.

virtual std::vector<DtString>& DtFedExec::joinFomModulesForConnection ( unsigned long  connID) const
protectedvirtual
void DtFedExec::multFileReceivedCb ( const DtFomModuleDistributionMsg msg)

File received callback... generates a distributor postCommand.

static void DtFedExec::multFileReceivedCb ( const DtFomModuleDistributionMsg msg,
void *  usr 
)
static

File received callback... generates a distributor postCommand.

static void DtFedExec::multFileReceivedExecCb ( const DtFomModuleDistExecMsg msg,
void *  usr 
)
static

File received callback... generates a distributor postCommand.

void DtFedExec::multFileRequestedCb ( const DtFomModuleRequestMsg msg)

File requested callback... generates a distributor postCommand.

static void DtFedExec::multFileRequestedCb ( const DtFomModuleRequestMsg msg,
void *  usr 
)
static

File requested callback... generates a distributor postCommand.

virtual unsigned int DtFedExec::numberFederatesAllowed ( unsigned int  numPartners) const
protectedvirtual

Given the number of partners allowed by a joining federate, determines the number of federates allowed in the federation.

The value 0 indicates no limit in both the input and return values. Returns: 0 if no partner limit; otherwise, the number of partners allowed in the federation.

virtual int DtFedExec::numFederates ( ) const
virtual

Returns the total number of federates joined to this federation.

DtFedExec& DtFedExec::operator= ( DtFedExec const &  orig)
protected
void DtFedExec::populateWithUnknownFoms ( std::vector< DtString > &  mods,
std::vector< DtString > &  requestedMods 
)
protected
virtual void DtFedExec::printFederates ( )
virtual

Print the list of federates for each federation execution.

static void DtFedExec::processAbortRestore ( const DtAbortRestoreMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processAbortRestore ( const DtAbortRestoreMsg msg)
protectedvirtual
static void DtFedExec::processAbortSave ( const DtAbortSaveMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processAbortSave ( const DtAbortSaveMsg msg)
protectedvirtual
virtual void DtFedExec::processAchievedSyncPoint ( const DtSyncPointMsg msg)
protectedvirtual

Process sync point achieved.

static void DtFedExec::processAlive ( const DtAliveMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processAlive ( const DtAliveMsg msg)
protectedvirtual
virtual bool DtFedExec::processCreateReady ( )
protectedvirtual

Perform processing when create is ready.

virtual bool DtFedExec::processEvents ( )
protectedvirtual

Process events from asynchronous thread.

virtual void DtFedExec::processFederationSynchronizedCallbacks ( DtSyncPt point)
protectedvirtual

Process the callbacks registered for federates achieving sync points.

virtual void DtFedExec::processFedFileRequestMsg ( const DtFedFileRequestMsgEvent e)
virtual

Process FED file requests.

virtual void DtFedExec::processFileTransfer ( const DtFedExTakeFileEvent e)
virtual

Process file transfers.

static void DtFedExec::processInitiatedSave ( const DtInitiatedSaveMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processInitiatedSave ( const DtInitiatedSaveMsg msg)
protectedvirtual
virtual bool DtFedExec::processJoin ( unsigned long  connID,
const DtFedJoinInfo *  fedInfo 
)
protectedvirtual

Process a join Return true if successful; otherwise, false.

static void DtFedExec::processJoinConfirm ( const DtJoinConfirmMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processJoinConfirm ( const DtJoinConfirmMsg msg)
protectedvirtual
static void DtFedExec::processJoinMsg ( const DtJoinMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processJoinMsg ( const DtJoinMsg msg)
protectedvirtual
virtual void DtFedExec::processJoinReady ( )
protectedvirtual

Perform processing of a joining federate when it is ready (i.e., all its FOM modules have been received) Joins taking too long are removed!

static void DtFedExec::processOwnership ( const DtOwnershipMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processOwnership ( const DtOwnershipMsg msg)
protectedvirtual
static void DtFedExec::processQueryRestoreStatus ( DtQueryRestoreStatusMsg const &  msg,
void *  usr 
)
static
virtual void DtFedExec::processQueryRestoreStatus ( DtQueryRestoreStatusMsg const &  msg)
protectedvirtual
static void DtFedExec::processQuerySaveStatus ( DtQuerySaveStatusMsg const &  msg,
void *  usr 
)
static
virtual void DtFedExec::processQuerySaveStatus ( DtQuerySaveStatusMsg const &  msg)
protectedvirtual
virtual void DtFedExec::processRegisterSyncPoint ( const DtSyncPointMsg msg)
protectedvirtual

Process sync point registration.

static void DtFedExec::processReleaseMultiName ( DtReleaseMultiNameMsg const &  msg,
void *  usr 
)
static
virtual void DtFedExec::processReleaseMultiName ( DtReleaseMultiNameMsg const &  msg)
protectedvirtual
virtual void DtFedExec::processRequestedModulesArrived ( const DtRequestedModulesArrivedEvent e)
virtual

Process arrival of requested FOM Modules.

static void DtFedExec::processReserveMultiName ( DtReserveMultiNameMsg const &  msg,
void *  usr 
)
static
virtual void DtFedExec::processReserveMultiName ( DtReserveMultiNameMsg const &  msg)
protectedvirtual
static void DtFedExec::processReserveName ( DtReserveNameMsg const &  msg,
void *  usr 
)
static
virtual void DtFedExec::processReserveName ( DtReserveNameMsg const &  msg)
protectedvirtual
static void DtFedExec::processResign ( const DtResignMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processResign ( const DtResignMsg msg)
protectedvirtual
static void DtFedExec::processResignDirective ( const DtResignDirectiveMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processResignDirective ( const DtResignDirectiveMsg msg)
protectedvirtual
static void DtFedExec::processRestoreBegun ( const DtRestoreBegunMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processRestoreBegun ( const DtRestoreBegunMsg msg)
protectedvirtual
static void DtFedExec::processRestoreComplete ( const DtRestoreCompleteMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processRestoreComplete ( const DtRestoreCompleteMsg msg)
protectedvirtual
static void DtFedExec::processRestoreRequest ( const DtRestoreRequestMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processRestoreRequest ( const DtRestoreRequestMsg msg)
protectedvirtual
static void DtFedExec::processSaveBegun ( const DtSaveBegunMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processSaveBegun ( const DtSaveBegunMsg msg)
protectedvirtual
static void DtFedExec::processSaveComplete ( const DtSaveCompleteMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processSaveComplete ( const DtSaveCompleteMsg msg)
protectedvirtual
static void DtFedExec::processSaveRequest ( const DtSaveRequestMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processSaveRequest ( const DtSaveRequestMsg msg)
protectedvirtual
static void DtFedExec::processSyncPoint ( const DtSyncPointMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processSyncPoint ( const DtSyncPointMsg msg)
protectedvirtual
static void DtFedExec::processSyncPointQuery ( const DtSyncPointQueryMsg msg,
void *  usr 
)
static
virtual void DtFedExec::processSyncPointQuery ( const DtSyncPointQueryMsg msg)
protectedvirtual
virtual void DtFedExec::processSyncPtAchievedCallbacks ( DtSyncPt point,
DtFederate federate 
)
protectedvirtual

Process the callbacks registered for federates achieving sync points.

void DtFedExec::pushFomModuleToJoinedFederates ( DtFederate newFederate,
DtString  fileName,
unsigned int  fileSize,
const char *  fileBuffer 
)

Push a FOM Module to all joined federates except the one specified.

void DtFedExec::pushFomModuleToSingleFederate ( DtFederateHandle  recipient,
DtString  fileName,
unsigned int  fileSize,
const char *  fileBuffer 
)

Push a FOM Module to the given federate.

virtual void DtFedExec::readAndMergeJoiningFomModules ( unsigned long  connID,
DtFomClassMgr target,
DtJoinResponseMsg::errorCodes response,
DtString &  errorResponseString 
)
protectedvirtual

Read and merge the joining federate's FOM modules.

virtual DtFedReadStatus DtFedExec::readCreateFom ( DtFomClassMgr target,
const DtString &  fomFile,
bool  addToMap,
DtCreateResponseFlag response,
DtString &  errorResponseString 
)
protectedvirtual

Federation Execution Processing.

Read the FOM file into the given target using the reader if provided (or get reader based on file)

virtual DtFedReadStatus DtFedExec::readCreateFoms ( DtFomClassMgr topLevelTarget,
std::vector< DtString > &  fomFiles,
DtCreateResponseFlag response,
DtString &  errorResponseString 
)
protectedvirtual

Read createFederation FOMs into FOM targets and collect mapping between file names and targets Top level target will be MOM if present or first FOM in list Return the read status and fill in the create response and error string if an error occurs.

virtual DtFedReadStatus DtFedExec::readJoinFom ( DtFomClassMgr target,
const DtString &  fomFile,
DtJoinResponseMsg::errorCodes response,
DtString &  errorResponseString 
)
protectedvirtual

Read the FOM file into the given target using the reader if provided (or get reader based on file)

virtual DtFedReadStatus DtFedExec::readJoinFoms ( std::vector< DtString > &  fomFiles,
DtJoinResponseMsg::errorCodes response,
DtString &  errorResponseString 
)
protectedvirtual

Read joinFederation FOMs into FOM targets and collect mapping between file names and targets Return the read status and fill in the join response and error string if an error occurs.

virtual void DtFedExec::reconnectFederateFailed ( DtFederateHandle  federateHandle)
protectedvirtual

Federate failed to reconnect.

virtual void DtFedExec::reconnectFederateSucceeded ( DtFederate fed)
protectedvirtual

Federate successfully reconnected.

virtual bool DtFedExec::removeFederateConnection ( unsigned long  id)
virtual

Removes the federate with the given connection ID.

virtual void DtFedExec::removeFederateDisconnectedCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual

Unregister callbacks for federate disconnected.

virtual void DtFedExec::removeFederateJoinedCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual

Remove callback to be invoked whenever a federate joins a federation.

virtual void DtFedExec::removeFederateReconnectFailedCallback ( DtFederateHandleCbFn  fn,
void *  usr 
)
virtual
virtual void DtFedExec::removeFederateReconnectSucceededCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual
virtual void DtFedExec::removeFederateResignedCallback ( DtFederateCbFn  fn,
void *  usr 
)
virtual

Remove callback to be invoked whenever a federate resigns a federation.

virtual void DtFedExec::removeFederationSynchronizedCallback ( DtSyncPointCbFn  fn,
void *  usr 
)
virtual

Unregister a callback to be invoked whenever all federates has achieved a sync point.

virtual void DtFedExec::removeJoinFomModuleForConnection ( unsigned long  connID)
protectedvirtual

Remove the given FOM Module request to the given connection's list.

virtual void DtFedExec::removeSyncPtAchievedCallback ( DtSyncPointAchievedCbFn  fn,
void *  usr 
)
virtual

Unregister a callback to be invoked whenever a federate has achieved a sync point.

virtual void DtFedExec::removeSyncPtRegisteredCallback ( DtSyncPointCbFn  fn,
void *  usr 
)
virtual

Unregister a callback to be invoked whenever a new sync point has been registered.

virtual void DtFedExec::requestFedFileUpload ( const DtJoinMsg msg)
protectedvirtual
virtual void DtFedExec::resetClockForHeartBeat ( )
virtual

This should only be called when the rtiExec has reconnected.

This will prevent a healthy federate from being disconnected because the rtiExec was disconnected and it did not receive the heartbeat. This comes at the cost of not detecting an unhealthy federate for the period between that federates last heartbeat and the time that this was called.

virtual void DtFedExec::resetControl ( )
protectedvirtual

Reset control.

virtual bool DtFedExec::resignFederate ( DtFederateHandle  handle,
DtResignAction  action,
DtResignReason  reason 
)
virtual

Resign the given federate from the federation.

virtual bool DtFedExec::restore ( const char *  label)
protectedvirtual

restores the fedex Return boolean: save was successful?

virtual bool DtFedExec::restoreFederateConnection ( DtFederateHandle  handle,
unsigned long  newConnId,
unsigned long &  oldConnId 
)
virtual

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 DtFedExec::retireSyncPoint ( const char *  name)
protectedvirtual

DtTIME.

Remove the sync point - usually called after the point has been reached by all, and the federation is synchronized.

virtual bool DtFedExec::save ( const char *  label)
protectedvirtual

saves the fedex Return boolean: save was successful?

virtual void DtFedExec::sendDesignatedFederate ( DtFederateHandle  fedHandle)
protectedvirtual
virtual void DtFedExec::sendEnableDisableNetworkTestingMsg ( const char *  name,
bool  enabled 
)
protectedvirtual
virtual void DtFedExec::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() 
)
protectedvirtual
virtual void DtFedExec::sendMultiNameReservedMsg ( DtFederateHandle  requestingFederate,
std::set< std::wstring > const &  objectNames,
bool  result 
)
protectedvirtual
virtual void DtFedExec::sendNameReservedMsg ( DtFederateHandle  requestingFederate,
char const *  objectName,
bool  result 
)
protectedvirtual
virtual void DtFedExec::sendResignMsg ( const char *  name,
DtFederateHandle  fedHandle,
DtResignAction  action,
DtResignReason  reason,
const DtTimeInfo *  timeInfo 
)
protectedvirtual
virtual void DtFedExec::sendResignResponseMsgIfNecessary ( const DtResignMsg msg,
DtResignResponse  response,
DtFederateHandle  fedHandle 
)
protectedvirtual
virtual void DtFedExec::sendRestoreStatus ( DtFederateHandle  requestingFederate,
DtRtiApiFederateRestoreStatusVector const &  restoreStatusList 
)
protectedvirtual
virtual void DtFedExec::sendSaveInitiateConstrainedMsg ( const char *  labelVal)
protectedvirtual
virtual void DtFedExec::sendSaveInitiateMsg ( const char *  labelVal)
protectedvirtual
virtual void DtFedExec::sendSaveResponse ( DtFederateHandle  fedHandle,
unsigned long  requestID,
const char *  labelVal,
DtSaveResponseFlag  response 
)
protectedvirtual
virtual void DtFedExec::sendSaveStatus ( DtFederateHandle  requestingFederate,
RTI_API::FederateHandleSaveStatusPairVector const &  saveStatusList 
)
protectedvirtual
virtual void DtFedExec::sendSyncPointMsg ( DtSyncMsgType  kind,
int  id,
DtSyncPointStatus  status,
const char *  name,
RTI_API::VariableLengthData const *  theTag = NULL,
const DtFederateHandleSet set = NULL,
const DtFederateHandleSet unsuccessfulSet = NULL 
)
protectedvirtual
virtual void DtFedExec::sendSyncPointReport ( const DtSyncPointQueryMsg msg)
protectedvirtual

Send MOM report synchronization point interaction.

virtual void DtFedExec::sendSyncPointStatusReport ( const DtSyncPointQueryMsg msg)
protectedvirtual

Send MOM report synchronization point status interaction.

virtual void DtFedExec::sendTransferRidParamsMsg ( const char *  name,
DtFederateHandle  fedHandle,
const DtString &  paramString 
)
protectedvirtual
static void DtFedExec::setCreatorFunction ( DtFedExecCreator  creator)
static

Call this function to set an alternate creator function With this function, users can replace this DtFedExec with their own derived class.

virtual void DtFedExec::setFullyCreated ( bool  val)
virtual

Set completion status.

virtual bool DtFedExec::synchronized ( DtSyncPt point,
DtFederateHandleSet unsuccessfulSet 
) const
protectedvirtual

Return true if we've reached synchronization for this point, false otherwise.

Also return the list of federates who achieved the sync point unsuccessfully.

virtual bool DtFedExec::tick ( )
virtual

Tick the federation execution.

virtual bool DtFedExec::tickDistributor ( )
protectedvirtual

Tick the distributor.

virtual void DtFedExec::tickFederates ( )
protectedvirtual

Check if the interval since the last heartbeat for any federate has exceeded the timeout.

If so, resign the federate.

virtual void DtFedExec::tickJoin ( )
protectedvirtual

Periodically send a join response to prod unconfirmed federate joins This polling mechanism compensates for dropped messages.

virtual void DtFedExec::tickSaveRestore ( )
protectedvirtual

Tick actions.

Check if a save/restore has timed out. If so, terminate it.

virtual bool DtFedExec::transferRidParams ( DtFederateHandle  handle,
const DtString &  ridString 
)
virtual

Transfer RID parameters over network.

virtual void DtFedExec::updateNewClassesToJoinedFederates ( DtFomClassMgr target,
DtFederateHandle  joiningFederate 
)
protectedvirtual

Update joined federates with new classes from the given joining federate's FOM module.

Member Data Documentation

bool DtFedExec::myAllowNetworkTesting
protected

Whether network testing is enabled or completely disabled by the RID.

bool DtFedExec::myAllowResignActionOverride
protected
bool DtFedExec::myAwaitingCreateUpload
protected
std::set< unsigned long> DtFedExec::myAwaitingJoinUpload
protected
DtClock DtFedExec::myClock
protected
std::set< unsigned long > DtFedExec::myConnectionsJoinProcessed
protected
bool DtFedExec::myCrcCheckFedFile
protected
unsigned int DtFedExec::myCrcOfFedFile
protected
std::vector<DtString> DtFedExec::myCreateFomModules
protected
std::vector<unsigned int> DtFedExec::myCreationFedFilesCRCs
protected
unsigned long DtFedExec::myCreatorConnId
protected
int DtFedExec::myDefaultWait
protected
DtFederateHandle DtFedExec::myDesignatedFederate
protected
DtList DtFedExec::myDisconnectCallbacks
protected
bool DtFedExec::myDistributeFedFile
protected
DtAsyncFileDistributorRunnable* DtFedExec::myDistributor
protected
vrlmod::DtThreadedObject* DtFedExec::myDistributorThread
protected

DtTIME.

std::map< MAKRti::DtString, DtFederateHandle > DtFedExec::myFederateHdlsByName
protected
DtFedExFederateReservedNameMap DtFedExec::myFederateReservedNames
protected
DtFederateHandleInfoMap DtFedExec::myFederates
protected
DtFederateNameInfoMap DtFedExec::myFederatesByName
protected
float DtFedExec::myFederateTimeoutInterval
protected
std::map< const DtString, DtFomClassMgr > DtFedExec::myFedexFileToFedTgtMap
protected
int DtFedExec::myFedExHandle
protected
DtString DtFedExec::myFedExName
protected
std::vector<bool> DtFedExec::myFedHandlesInUse
protected
DtFedReader13* DtFedExec::myFedReader13
protected
DtFedReader1516* DtFedExec::myFedReader1516
protected
DtFedReader1516_4* DtFedExec::myFedReader1516_2025
protected
DtFedReader1516e* DtFedExec::myFedReader1516e
protected
std::map<unsigned long, bool> DtFedExec::myFedRequests
protected
DtList DtFedExec::myFedSynchronizedCallbacks
protected
MAKRti::DtFomType DtFedExec::myFedType
protected
DtFomClassMgr* DtFedExec::myFom
protected
std::vector<DtString> DtFedExec::myFomModules
protected
std::map<DtString, unsigned int> DtFedExec::myFomModulesNameToCrcMap
protected
std::set<DtString> DtFedExec::myFomModulesSet
protected
std::map<DtString, DtFedReadStatus> DtFedExec::myFomToReadStatusMap
protected
int DtFedExec::myFreeFedHandle
protected
bool DtFedExec::myFullFedFileDistribution
private
bool DtFedExec::myFullyCreated
protected
DtFederateHandleStdSet DtFedExec::myInitiatedSaveFederates
protected
unsigned long DtFedExec::myInitiatorID
protected
DtList DtFedExec::myJoinCallbacks
protected
std::map<unsigned long, std::vector<DtString>* > DtFedExec::myJoinFomModules
protected
std::map<DtFederateHandle, DtFedJoinInfo*> DtFedExec::myJoiningFederates
protected

List of joining federates waiting to be processed and confirmed.

std::map<unsigned long, DtFedJoinInfo*> DtFedExec::myJoiningFederatesByID
protected
bool DtFedExec::myModulesArrived
protected
DtString DtFedExec::myMomModule
protected
unsigned int DtFedExec::myMomModuleCrc
protected
bool DtFedExec::myNetworkTestingEnabled
protected

Whether network testing has been toggled on/off by the assistant.

unsigned int DtFedExec::myNumberFederatesAllowed
protected
int DtFedExec::myNumberResponseAttempts
protected

Response interval from params is divided by this number.

int DtFedExec::myNumFederates
protected
DtFederateHandleStdSet DtFedExec::myPendingRestoreFederates
protected
DtFederateHandleStdSet DtFedExec::myPendingSaveFederates
protected
DtList DtFedExec::myReconnectFailedCallbacks
protected
DtList DtFedExec::myReconnectSucceededCallbacks
protected
DtFedExReservedNameSet DtFedExec::myReservedNames
protected
DtResignAction DtFedExec::myResignAction
protected
DtList DtFedExec::myResignCallbacks
protected
float DtFedExec::myResponseInterval
protected

to obtain response retransmission interval

bool DtFedExec::myRestore
protected
DtFederateHandleInfoMap DtFedExec::myRestoreFederatesByNew
protected
DtFederateHandleInfoMap DtFedExec::myRestoreFederatesByOld
protected
DtRtiExec* DtFedExec::myRtiexec
protected
bool DtFedExec::mySave
protected
bool DtFedExec::mySaveBegun
protected
DtString DtFedExec::mySaveLabel
protected
DtString DtFedExec::mySavePath
protected
bool DtFedExec::mySavePending
protected
DtFederateHandle DtFedExec::mySavingFederate
protected
DtList DtFedExec::mySpAchievedCallbacks
protected
DtList DtFedExec::mySpRegisterCallbacks
protected
int DtFedExec::myStrictNameReservation
protected
DtSyncHashlist DtFedExec::mySyncList
protected
std::map<DtString, DtFileInformation*> DtFedExec::myTakenFiles
protected
int DtFedExec::myTimeout
protected
bool DtFedExec::myUseDestinationMetadata
protected
const DtString DtFedExec::nullStr
staticprivate
DtFedExecCreator DtFedExec::theCreator
staticprotected
const std::vector<DtString> DtFedExec::theEmptyStringSet
staticprotected
const DtFederateHandle DtFedExec::theFederationShadowHandle
staticprivate

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)