34 #include "mtl/fedReader13.h"
35 #include "mtl/fedReader1516.h"
36 #include "mtl/fedReader1516e.h"
40 class DtSaveStatusMsg;
41 class DtRestoreStatusMsg;
74 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
95 const char* executionName,
const char* timeImplName,
97 const std::vector<DtString>& fomModules,
98 const char* mimModule);
105 const char* executionName);
108 virtual void listFederationExecutions();
115 const char* yourName,
116 const char* executionName,
117 rti1516::FederateAmbassador* federateAmbassadorReference,
118 unsigned long flags);
119 #elif defined(DtIFSPEC1516E)
121 const char* federateName,
122 const char* yourName,
123 const char* executionName,
124 const std::vector<DtString>& fomModules,
125 unsigned long flags);
129 const char* yourName,
130 const char* executionName,
131 RTI::FederateAmbassador* federateAmbassadorReference,
132 unsigned long flags);
140 #elif defined(DtIFSPEC1516E)
157 rti1516::VariableLengthData
const & theTag);
158 #elif defined(DtIFSPEC1516E)
165 char const * theTag);
172 rti1516::VariableLengthData
const & theTag,
174 #elif defined(DtIFSPEC1516E)
198 rti1516::LogicalTime
const * time=NULL);
201 virtual void queryFederationSaveStatus();
204 virtual void queryFederationRestoreStatus();
205 #elif defined(DtIFSPEC1516E)
211 virtual void queryFederationSaveStatus();
214 virtual void queryFederationRestoreStatus();
217 virtual void abortFederationSave();
220 virtual void abortFederationRestore();
225 RTI::FedTime
const * time=NULL);
263 virtual void initRidTester();
266 virtual void waitForCreateResponse(
const char* executionName );
269 virtual void waitForJoinResponse(
const char* executionName,
270 std::vector<MAKRti::DtString> &joinModules );
279 void handleFailedJoinResponse(
bool timedOutDueToCreation);
282 virtual void initializeTimeFactory();
285 virtual void initializeFOM(
const char* executionName );
291 const char* yourName,
292 const char* executionName,
293 const char* federateName
295 , rti1516::FederateAmbassador* federateAmbassadorReference);
296 #elif defined(DtIFSPEC1516E)
299 , RTI::FederateAmbassador* federateAmbassadorReference);
307 virtual void handleFailedJoin(
unsigned long sourceID,
311 virtual void setDesignatedFederate(
bool isDesignated);
312 virtual bool isDesignatedFederate();
316 void appendFomModule(std::vector<MAKRti::DtString>& target,
317 MAKRti::DtString
const& source);
321 void appendFomModules(std::vector<MAKRti::DtString>& target,
322 std::vector<MAKRti::DtString>
const& source);
325 virtual bool findFedFileNameFromMapping(
const MAKRti::DtString execName,
326 const std::vector<MAKRti::DtString>& orig,
327 std::vector<MAKRti::DtString>& namesToUse)
const;
331 MAKRti::DtString executionName,
bool isMim =
false);
334 virtual void mergeFomModules(
const std::vector<MAKRti::DtString>* fomModules);
371 virtual void requestImmediateSave(
const char *label);
391 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
392 virtual void processSaveStatusMsg(
const DtSaveStatusMsg& msg);
396 virtual void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg);
429 virtual void sendCreateMsg(MAKRti::DtString
const & fedExNameVal,
430 MAKRti::DtString
const & timeImplName,
const std::vector<unsigned int> & moduleCrcs,
431 MAKRti::DtFomType fedType, MAKRti::DtString
const &momModuleName,
432 const std::vector<MAKRti::DtString>& fomModules,
unsigned int momModuleCrc);
435 virtual void sendDestroyMsg(
const char* name);
438 virtual void sendJoinMsg(
439 unsigned long sourceID,
unsigned short requestID,
const char* fedType,
440 const char* fedExName,
const char* fedName,
441 const std::vector<MAKRti::DtString>& fomModules,
442 const unsigned long flags,
const std::vector<unsigned int>& joinModulesCrcs);
445 virtual void sendJoinConfirmMsg(
452 rti1516::VariableLengthData
const* tag = NULL,
457 virtual void sendSaveRequestTsoMsg(
char const * label,
458 rti1516::LogicalTime
const * time);
460 #elif defined(DtIFSPEC1516E)
469 virtual void sendSaveRequestTsoMsg(
char const * label,
476 char const * tag = NULL,
479 virtual void sendSaveRequestTsoMsg(
char const * label,
481 RTI::FedTime
const * time);
486 virtual void sendSaveRequestMsg(
unsigned long requestID,
const char *label);
489 virtual void sendSaveBegunMsg();
492 virtual void sendSaveCompleteMsg(
const char *label,
bool success);
495 virtual void sendRestoreRequestMsg(
const char *label);
498 virtual void sendRestoreBegunMsg(
const char *label,
DtResponseFlag response);
501 virtual void sendRestoreCompleteMsg(
const char *label,
bool success);
516 #elif defined(DtIFSPEC1516E)
531 virtual void prepareToRestoreLRC();
538 virtual void prepareToRestore();
554 static void processSyncPointMsg(
const DtSyncPointMsg& msg,
void* usr);
576 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
577 static void processSaveStatusMsg(
const DtSaveStatusMsg& msg,
void* usr);
581 static void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg,
void* usr);
589 static void processResignResponseMsg(
const DtResignRespMsg& msg,
void* usr);
601 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
661 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
662 std::wstring* myFailedSyncPointLabel;
688 void populateWithUnknownFoms(std::vector<DtString> & mods, std::vector<DtString> & requestedMods);
689 bool isFomAvailable(
const DtString & fomName);
690 void getCrcsOfFoms( std::vector<unsigned int> & moduleCrcs,
const std::vector<MAKRti::DtString> & creationFomModuleNames );
unsigned long mySaveRequestID
Save request ID.
Definition: execFedMgr.h:649
virtual void initiateTimedSave(RTI::FedTime const &saveTime)
Save is initiated possibly after waiting to enter time advancing state.
This class is a base for the protocol specific DtRtiAmbassadorImplementor class.
Definition: ambImpBase.h:49
Definition: savFinMsg.h:32
DtFederateHandle myOldFedHandle
during a restore the fedhandle changes.
Definition: execFedMgr.h:670
virtual void createFederationExecution(const char *executionName, const char *timeImplName, const char *fed)=0
Process the create federation execution service.
DtResignResponse myResignResponse
Status of resign federation.
Definition: execFedMgr.h:615
Definition: newFomClassesMsg.h:18
Definition: joinRespMsg.h:27
Definition: savRespMsg.h:29
std::list< DtNewFomClassesMsg * > myNewFomClassMsgs
Queue of FOM class messages to be processed after we join.
Definition: execFedMgr.h:686
DtDestroyResponseFlag
Definition: desRespMsg.h:23
virtual void requestFederationSave(const char *label, const RTI::FedTime *time=NULL)=0
Process the requested federation save service.
virtual bool restore(DtRtiSaveFile &file)
Perform the actual restore.
Definition: fedMgr.h:520
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:652
Definition: LogicalTime.h:35
unsigned myRegisterNameResponse
Status of registerName 0 = no response, 1 = success, 2 = failure.
Definition: execFedMgr.h:622
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:674
virtual void processSaveFinished(const DtSaveFinishedMsg &msg)
Process save finished message.
virtual RTI::FederateHandle joinFederationExecution(const char *yourName, const char *executionName, RTI::FederateAmbassador *federateAmbassadorReference, unsigned long flags)=0
Process the join federation execution service.
std::string * myFailedSyncPointLabel
Failed sync point request.
Definition: execFedMgr.h:664
DtSaveResponseFlag
Definition: savRespMsg.h:22
vrlmod::DtThreadedObject * myDistributorThread
Should we use local or distributed fed file?
Definition: execFedMgr.h:678
virtual void waitForResignResponse(bool serviceCall=true)
Wait for Resign Response.
virtual void init()
Virtual initialization within create.
Definition: fedHandleSet.h:102
virtual void processRestore(const DtRestoreMsg &msg)
Process restore message.
bool myFullFedFileDistribution
Definition: execFedMgr.h:691
virtual void federateSaveNotComplete()=0
Process the federate save not complete service.
virtual void federateSaveComplete()=0
Process the federate save complete service.
MAKRti::DtString myCreateResponseErrorString
Error String of create federation.
Definition: execFedMgr.h:625
bool myAsynchronousDistributor
Definition: execFedMgr.h:679
static DtFederateMgr * create(DtRIDParameters *params, DtRtiAmbassadorBaseImplementor *ambImplPtr, DtConnectionMgr *connMgr, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
A Federate Manager instance is created, initialized, and its pointer is returned. ...
Sent by Federates to request fed file from RtiExec.
Definition: fomModuleRequestMsg.h:28
std::map< MAKRti::DtString, DtFileInformation * > myTakenFiles
When files are received from distributor, store them here until requester takes them.
Definition: execFedMgr.h:683
Definition: resignRespMsg.h:20
Definition: VariableLengthData.h:34
virtual void testSaveProgress()=0
Perform exception tests on save/restore state.
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:66
ResignAction
Definition: Enums.h:33
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:88
std::map< DtString, DtSynchronousFileDistributor * > myDistributors
federate Fed File Distributors.
Definition: execFedMgr.h:606
virtual void federateSaveBegun()=0
Process the federate save begun service.
Definition: creRespMsg.h:35
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
DtHandle DtFederateHandle
Definition: internalTypes.h:29
Definition: syncPointMsg.h:46
Definition: resEndMsg.h:31
DtSynchronousFileDistributor * myJoinDistributor
The Fed File Distributor of the joined federation execution.
Definition: execFedMgr.h:609
virtual void processRestoreReply(const DtRestoreReplyMsg &msg)
Process restore reply message.
DtCreateResponseFlag
Definition: creRespMsg.h:23
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.
Definition: reportFederationsMsg.h:26
Definition: restoreMsg.h:23
virtual void federateRestoreComplete()=0
Process the federate restore complete service.
virtual void processSaveInitiate(const DtSaveInitiateMsg &msg)
Process save initiate message.
virtual void resignFederationExecution(RTI::ResignAction theAction)
Process the resign federation execution service.
std::set< DtString > mySyncPoints
MAKRti::DtHashList of DtStringHashKeys representing synch point names that have been announced to us...
Definition: execFedMgr.h:658
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:692
Definition: desRespMsg.h:31
DtDestroyResponseFlag myDestroyResponse
Status of destroy federation.
Definition: execFedMgr.h:628
bool myResignResponseNotReceived
Status of resign federation received.
Definition: execFedMgr.h:618
virtual bool save(DtRtiSaveFile &file)
Perform the actual save.
Definition: fedMgr.h:517
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
virtual void destroyFederationExecution(const char *executionName)=0
Process the destroy federation execution service.
DtJoinConfirmMsg::errorCodes myJoinConfirmResponse
Status of join confirm.
Definition: execFedMgr.h:634
Definition: saveFile.h:21
virtual void postJoinInit(const char *federateType, const char *executionName, const char *federateName, RTI::FederateAmbassador *federateAmbassadorReference)
Uses the given information to initialize federate data.
DtCreateResponseFlag myCreateResponse
Status of create federation.
Definition: execFedMgr.h:612
DtJoinResponseMsg * myJoinResponse
Copy of join response.
Definition: execFedMgr.h:631
unsigned short myJoinRequestID
Join request ID.
Definition: execFedMgr.h:646
virtual void applyRidParameters()
Apply RID parameters.
virtual void federateRestoreNotComplete()=0
Process the federate restore not complete service.
errorCodes
error codes for the errorValue flag
Definition: joinConfMsg.h:29
virtual void initiateSave()
Perform the actual save possibly after waiting to enter time advancing state.
DtSyncMsgType
Definition: syncPointMsg.h:25
virtual void registerFederationSynchronizationPoint(const char *label, const char *theTag)=0
Process the register federation synchronization point service.
MAKRti::DtString myDestroyExecutionName
Name of federation to destroy.
Definition: execFedMgr.h:637
std::vector< MAKRti::DtString > myFomModuleRequests
Queue of modules requested.
Definition: execFedMgr.h:643
Definition: savInitMsg.h:23
Definition: resInitMsg.h:22
std::map< DtString, bool > myFedFileRequests
Status of fed file request.
Definition: execFedMgr.h:640
Definition: desgFedMsg.h:22
virtual void processRestoreInitiate(const DtRestoreInitiateMsg &msg)
Process restore initiate message.
virtual void postJoinConfirmInit()
std::vector< MAKRti::DtString > DtStringList
Definition: RIDparams.h:92
This file contains the declaration of the base federation manager.
DtResignResponse
Definition: resignRespMsg.h:12
DtResponseFlag
Definition: resBegMsg.h:22
Definition: vlThreadedObject.h:45