16 #include <vlutil/vlPrint.h>
17 #include <vlutil/vlSmartPointers.h>
18 #include <vlutil/vlTime.h>
19 #include <vlutil/vlFedTarget.h>
31 class DtAssocPubRegMsg;
58 std::shared_ptr<DtFilePrinter> logPrinter);
66 virtual DtHandle federationHandle()
const;
69 virtual const MAKRti::DtString& name()
const;
81 virtual void checkVersion(
const MAKRti::DtString& version)
const;
84 virtual void processUpdateNotifyLevel(DtNotifyLevelType level);
96 virtual DtResignAction resignAction()
const;
105 std::shared_ptr<DtFilePrinter> logPrinter);
111 static bool shutdownSignalCaught();
112 static void caughtShutdownSignal();
115 static const MAKRti::DtString& shutDownStatement();
118 static const MAKRti::DtString& readyStatement();
127 virtual void cleanupConstructorException();
130 virtual void wait(DtTime intervalInSeconds);
136 virtual bool tick(
bool noCallbacks =
false);
142 virtual void sendFederationShadowHandshakeMsg(
DtHandle destinationId,
146 virtual void federationShadowToForwarderHandshake();
159 virtual void processJoinMsg(
const DtJoinMsg& msg);
160 static void processJoinMsg(
const DtJoinMsg& msg,
void* usr);
168 virtual void processResign(
const DtResignMsg& msg);
169 static void processResign(
const DtResignMsg& msg,
void* usr);
174 virtual void processRegister(
const DtRegObjMsg& msg);
175 static void processRegister(
const DtRegObjMsg& msg,
void* usr);
180 virtual void processAssocPubReg(
const DtAssocPubRegMsg& msg);
181 static void processAssocPubReg(
const DtAssocPubRegMsg& msg,
void* usr);
184 static void processDeleteRo(
const DtDeleteRoMsg& msg,
void* usr);
186 virtual void processDeleteTso(
const DtDeleteTsoMsg& msg);
187 static void processDeleteTso(
const DtDeleteTsoMsg& msg,
void* usr);
190 static void processOwnership(
const DtOwnershipMsg& msg,
void* usr);
DtConnectionMgr * connectMgr()
Return the connection manager.
Definition: federationShadow.h:237
DtFederationShadow *(* DtFederationShadowCreator)(DtHandle federationHandle, const MAKRti::DtString &federationName, DtRIDParameters *p, std::shared_ptr< DtFilePrinter > logPrinter)
DtFederationShadow creator callback signature.
Definition: federationShadow.h:44
virtual Boolean tick(TickTime minimum, TickTime maximum)
Definition: federationShadowShutdownMsg.h:17
FederateShadowByHandleMap myFederatesByConnection
List of federates.
Definition: federationShadow.h:221
Instances of DtFederationShadow implement a central server responsible for keeping track of the owner...
Definition: federationShadow.h:52
Definition: joinRespMsg.h:28
Definition: joinConfMsg.h:24
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
DtClock myClock
Definition: federationShadow.h:215
Definition: federateShadow.h:50
#define DT_DLL_FEDSHDW
Definition: rtiMsConfig.h:159
Definition: ownerMsg.h:45
static const MAKRti::DtString theReadyStatement
Definition: federationShadow.h:233
Definition: resignMsg.h:36
DtFederateShadow * federate(DtFederateHandle federateHandle)
Return the federate with the given handle; null if does not exist.
Definition: federationShadow.h:247
Definition: resignDirectiveMsg.h:24
static DtFederationShadowCreator theCreator
Definition: federationShadow.h:230
DtResignAction myResignAction
Automatic resign action for federates that crash or forced to resign.
Definition: federationShadow.h:210
DtFederationShadowHandshakeMsg::HandshakeStatus myHandshakeStatus
Definition: federationShadow.h:218
Definition: creRespMsg.h:36
bool myExitCommanded
Flag indicating that an exit command was received.
Definition: federationShadow.h:225
DtHandle myFederationHandle
Definition: federationShadow.h:216
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtFomModuleManager * myFomManager
The FOM Module Manager.
Definition: federationShadow.h:207
DtHandle DtFederateHandle
Definition: internalTypes.h:46
DtConnectionMgr * myConnectionMgr
Definition: federationShadow.h:204
std::map< DtHandle, DtFederateShadow * > FederateShadowByHandleMap
Definition: federationShadow.h:198
Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining ...
Definition: synchronousFileDistributor.h:27
Definition: regObjMsg.h:25
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
static const MAKRti::DtString theShutDownStatement
Definition: federationShadow.h:232
DtSynchronousFileDistributor * myFomDistributor
The Fed File Distributor of the joined federation execution.
Definition: federationShadow.h:213
bool myPendingQuit
Definition: federationShadow.h:226
MAKRti::DtString myFederationName
Definition: federationShadow.h:217
Definition: federationShadowHandshakeMsg.h:18
Definition: multiRegObjMsg.h:21
const DtRIDParameters & params() const
Return the RID parameters.
Definition: federationShadow.h:242
The declaration of internal types.
std::shared_ptr< DtFilePrinter > myLogPrinter
Printer which prints output to a log file.
Definition: federationShadow.h:202
static bool theShutdownSignalCaught
Definition: federationShadow.h:231
DtRIDParameters * myParams
Definition: federationShadow.h:199
Definition: fomModuleManager.h:39
Message for sending receive order delete.
Definition: deleteRoMsg.h:23
HandshakeStatus
Definition: federationShadowHandshakeMsg.h:21
FederateShadowByHandleMap myFederatesByHandle
Definition: federationShadow.h:222