33 #include <mtl/fedReader13.h>
34 #include <mtl/fedReader1516.h>
35 #include <mtl/fedReader1516e.h>
77 std::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
98 const char* executionName,
const char* timeImplName,
99 #
if defined(DtIFSPEC13) || defined(DtIFSPEC1516)
102 const std::vector<DtString>& fomModules,
103 const char* mimModule);
108 const char* executionName);
110 #if !defined(DtIFSPEC13) && !defined(DtIFSPEC1516)
120 #
if !defined(DtIFSPEC13) && !defined(DtIFSPEC1516)
121 const char* federateName,
123 const char* federateType,
124 const char* executionName,
125 #
if defined(DtIFSPEC13) || defined(DtIFSPEC1516)
126 RTI_API::FederateAmbassador* federateAmbassadorReference,
128 const std::vector<DtString>& fomModules,
130 unsigned long flags);
161 #if !defined(DtIFSPEC13)
169 #if !defined(DtIFSPEC1516)
216 virtual void initRidTester();
219 virtual void waitForCreateResponse(
const char* executionName );
222 virtual void waitForJoinResponse(
const char* executionName,
223 std::vector<MAKRti::DtString> &joinModules );
232 void handleFailedJoinResponse(
bool timedOutDueToCreation);
235 virtual void initializeTimeFactory();
238 virtual void initializeFOM(
const char* executionName );
241 virtual void initializeLocalFOM(
const char* executionName);
244 virtual void initializeDistributedFOM(
const char* executionName);
250 const char* federateType,
251 const char* executionName,
252 const char* federateName
253 #
if defined(DtIFSPEC13) || defined(DtIFSPEC1516)
254 , RTI_API::FederateAmbassador* federateAmbassadorReference
267 virtual void setDesignatedFederate(
bool isDesignated);
268 virtual bool isDesignatedFederate();
306 virtual void requestImmediateSave(
const char *label);
326 #if !defined(DtIFSPEC13)
364 virtual void sendCreateMsg(MAKRti::DtString
const & fedExNameVal,
365 MAKRti::DtString
const & timeImplName,
const std::vector<unsigned int> & moduleCrcs,
366 MAKRti::DtFomType fedType, MAKRti::DtString
const &momModuleName,
367 const std::vector<MAKRti::DtString>& fomModules,
unsigned int momModuleCrc);
370 virtual void sendDestroyMsg(
const char* name);
373 virtual void sendJoinMsg(
374 unsigned long sourceID,
unsigned short requestID,
const char* fedType,
375 const char* fedExName,
const char* fedName,
376 const std::vector<MAKRti::DtString>& fomModules,
377 const unsigned long flags,
const std::vector<unsigned int>& joinModulesCrcs);
380 virtual void sendJoinConfirmMsg(
390 virtual void sendSaveRequestTsoMsg(
char const * label,
396 virtual void sendSaveRequestMsg(
unsigned long requestID,
const char *label);
399 virtual void sendSaveBegunMsg();
402 virtual void sendSaveCompleteMsg(
const char *label,
bool success);
405 virtual void sendRestoreRequestMsg(
const char *label);
408 virtual void sendRestoreBegunMsg(
const char *label,
DtResponseFlag response);
411 virtual void sendRestoreCompleteMsg(
const char *label,
bool success);
435 virtual void prepareToRestoreLRC();
442 virtual void prepareToRestore();
458 static void processSyncPointMsg(
const DtSyncPointMsg& msg,
void* usr);
481 #if !defined(DtIFSPEC13)
482 static void processSaveStatusMsg(
const DtSaveStatusMsg& msg,
void* usr);
494 static void processResignResponseMsg(
const DtResignRespMsg& msg,
void* usr);
506 std::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
566 #if defined(DtIFSPEC13)
567 std::string* myFailedSyncPointLabel;
unsigned long mySaveRequestID
Save request ID.
Definition: execFedMgr.h:554
This class is a base for the protocol specific DtRtiAmbassadorImplementor class.
Definition: ambImpBase.h:50
Definition: savFinMsg.h:32
DtFederateHandle myOldFedHandle
during a restore the fedhandle changes.
Definition: execFedMgr.h:575
DtResignResponse myResignResponse
Status of resign federation.
Definition: execFedMgr.h:520
Definition: newFomClassesMsg.h:18
Definition: joinRespMsg.h:28
Definition: savRespMsg.h:29
std::list< DtNewFomClassesMsg * > myNewFomClassMsgs
Queue of FOM class messages to be processed after we join.
Definition: execFedMgr.h:587
DtDestroyResponseFlag
Definition: desRespMsg.h:23
virtual bool restore(DtRtiSaveFile &file)
Perform the actual restore.
Definition: fedMgr.h:424
virtual void processRestoreEnd(const DtRestoreEndMsg &msg)
Process restore end message.
virtual void synchronizationPointAchieved(const char *label, bool successfully=true)=0
Process the synchronization point achieved service.
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
virtual void requestFederationRestore(const char *label)=0
Process the request federation restore service.
DtSaveResponseFlag mySaveResponse
Save response status.
Definition: execFedMgr.h:557
Definition: restoreStatusMsg.h:33
unsigned myRegisterNameResponse
Status of registerName 0 = no response, 1 = success, 2 = failure.
Definition: execFedMgr.h:527
Definition: nameReservedMsg.h:25
bool myIsDesignatedFederate
This federate LRC is designated for handling some federation wide tasks (e.g., MOM Federation attribu...
Definition: execFedMgr.h:579
virtual void processSaveFinished(const DtSaveFinishedMsg &msg)
Process save finished message.
DtRtiApiVariableLengthData const * DtRtiApiTagConstPtr
Definition: rtiApiTypes.h:99
static DtFederateMgr * create(DtRIDParameters *params, DtRtiAmbassadorBaseImplementor *ambImplPtr, DtConnectionMgr *connMgr, std::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
A Federate Manager instance is created, initialized, and its pointer is returned. ...
DtSaveResponseFlag
Definition: savRespMsg.h:22
vrlmod::DtThreadedObject * myDistributorThread
Should we use local or distributed fed file?
Definition: execFedMgr.h:583
virtual void createFederationExecution(const char *executionName, const char *timeImplName, const std::vector< DtString > &fomModules, const char *mimModule)=0
Process the create federation execution service.
virtual void waitForResignResponse(bool serviceCall=true)
Wait for Resign Response.
virtual void init()
Virtual initialization within create.
Definition: fedHandleSet.h:61
virtual void processRestore(const DtRestoreMsg &msg)
Process restore message.
virtual void handleFailedJoin(unsigned long sourceID, DtJoinConfirmMsg::errorCodes code)
Handle the join failure before throwing an exception.
bool myFullFedFileDistribution
Definition: execFedMgr.h:589
virtual RTI_API::FederateHandle joinFederationExecution(const char *federateName, const char *federateType, const char *executionName, const std::vector< DtString > &fomModules, unsigned long flags)=0
Process the join federation execution service.
virtual void federateSaveNotComplete()=0
Process the federate save not complete service.
virtual void federateSaveComplete()=0
Process the federate save complete service.
RTI_API::LogicalTime DtRtiApiTime
Typedefs for RTI API types that frequently require conditional precompile directives.
Definition: rtiApiTypes.h:91
MAKRti::DtString myCreateResponseErrorString
Error String of create federation.
Definition: execFedMgr.h:530
bool myAsynchronousDistributor
Definition: execFedMgr.h:584
DtRtiApiVariableLengthData const & DtRtiApiTagConstRef
Definition: rtiApiTypes.h:98
Sent by Federates to request fed file from RtiExec.
Definition: fomModuleRequestMsg.h:24
Definition: resignRespMsg.h:20
virtual void abortFederationRestore()=0
Process the abort federation restore service.
Instances of DtRtiExecFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) for HLA applications that are using the rtiexec.
Definition: execFedMgr.h:69
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
#define NULL
Definition: baseTypes13.h:8
std::map< DtString, DtSynchronousFileDistributor * > myDistributors
federate Fed File Distributors.
Definition: execFedMgr.h:511
virtual void listFederationExecutions() const =0
Request the list of federation executions.
virtual void federateSaveBegun()=0
Process the federate save begun service.
Definition: creRespMsg.h:36
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
std::wstring * myFailedSyncPointLabel
Failed sync point request.
Definition: execFedMgr.h:569
DtHandle DtFederateHandle
Definition: internalTypes.h:46
Definition: syncPointMsg.h:46
Definition: resEndMsg.h:31
virtual void queryFederationSaveStatus()=0
Process the query federation save service.
DtSynchronousFileDistributor * myJoinDistributor
The Fed File Distributor of the joined federation execution.
Definition: execFedMgr.h:514
virtual void processRestoreReply(const DtRestoreReplyMsg &msg)
Process restore reply message.
DtCreateResponseFlag
Definition: creRespMsg.h:23
Definition: reportFederationMembersMsg.h:20
Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining ...
Definition: synchronousFileDistributor.h:27
virtual void processSaveResponse(const DtSaveResponseMsg &msg)
Process save resonse message.
virtual void postJoinInit(const char *federateType, const char *executionName, const char *federateName)
Uses the given information to initialize federate data.
Definition: reportFederationsMsg.h:26
Definition: restoreMsg.h:23
virtual void federateRestoreComplete()=0
Process the federate restore complete service.
virtual void requestFederationSave(const char *label, const DtRtiApiTime *time=NULL)=0
Process the requested federation save service.
virtual void processSaveInitiate(const DtSaveInitiateMsg &msg)
Process save initiate message.
virtual void initiateTimedSave(DtRtiApiTime const &saveTime)
Save is initiated possibly after waiting to enter time advancing state.
virtual void listFederationMembers(DtString const &federationName) const =0
List the list of federates in the joined federation execution.
ResignAction
Definition: datatypes.pb.h:305
ULong FederateHandle
Definition: RTItypes13.h:120
std::set< DtString > mySyncPoints
MAKRti::DtHashList of DtStringHashKeys representing synch point names that have been announced to us...
Definition: execFedMgr.h:563
DtFederateMgr & operator=(DtFederateMgr const &)
Assignment not implemented – Assignment Not Allowed!
Definition: resRepMsg.h:24
virtual void waitForReserveNameResponse(bool serviceCall=true)
Wait for Resign Response.
MAKRti::DtString myHostname
Definition: execFedMgr.h:590
Definition: desRespMsg.h:31
DtDestroyResponseFlag myDestroyResponse
Status of destroy federation.
Definition: execFedMgr.h:533
bool myResignResponseNotReceived
Status of resign federation received.
Definition: execFedMgr.h:523
virtual bool save(DtRtiSaveFile &file)
Perform the actual save.
Definition: fedMgr.h:421
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual void destroyFederationExecution(const char *executionName)=0
Process the destroy federation execution service.
DtJoinConfirmMsg::errorCodes myJoinConfirmResponse
Status of join confirm.
Definition: execFedMgr.h:539
Definition: saveFile.h:21
DtCreateResponseFlag myCreateResponse
Status of create federation.
Definition: execFedMgr.h:517
DtJoinResponseMsg * myJoinResponse
Copy of join response.
Definition: execFedMgr.h:536
virtual void abortFederationSave()=0
Process the abort federation save service.
unsigned short myJoinRequestID
Join request ID.
Definition: execFedMgr.h:551
virtual void applyRidParameters()
Apply RID parameters.
virtual void queryFederationRestoreStatus()=0
Process the query federation restore service.
virtual void federateRestoreNotComplete()=0
Process the federate restore not complete service.
virtual void testSaveProgress() const =0
Perform exception tests on save/restore state.
errorCodes
error codes for the errorValue flag
Definition: joinConfMsg.h:29
virtual void resignFederationExecution(RTI_API::ResignAction theAction)
Process the resign federation execution service.
virtual void initiateSave()
Perform the actual save possibly after waiting to enter time advancing state.
DtSyncMsgType
Definition: syncPointMsg.h:25
MAKRti::DtString myDestroyExecutionName
Name of federation to destroy.
Definition: execFedMgr.h:542
std::vector< MAKRti::DtString > myFomModuleRequests
Queue of modules requested.
Definition: execFedMgr.h:548
Definition: savInitMsg.h:23
Definition: resInitMsg.h:22
std::map< DtString, bool > myFedFileRequests
Status of fed file request.
Definition: execFedMgr.h:545
Definition: desgFedMsg.h:22
virtual void processRestoreInitiate(const DtRestoreInitiateMsg &msg)
Process restore initiate message.
virtual void postJoinConfirmInit()
This file contains the declaration of the base federation manager.
DtResignResponse
Definition: resignRespMsg.h:12
Definition: saveStatusMsg.h:31
virtual void registerFederationSynchronizationPoint(const char *label, RTI_API::VariableLengthData const &theTag)=0
Process the register federation synchronization point service.
DtResponseFlag
Definition: resBegMsg.h:22
Definition: vlThreadedObject.h:45