16 #include <vlutil/vlPrint.h>
17 #include <vlutil/vlSmartPointers.h>
18 #include <vlutil/vlTime.h>
19 #include <vlutil/vlFedTarget.h>
33 class DtAssocPubRegMsg;
60 std::shared_ptr<DtFilePrinter> logPrinter);
68 virtual DtHandle federationHandle()
const;
71 virtual const MAKRti::DtString& name()
const;
83 virtual void checkVersion(
const MAKRti::DtString& version)
const;
86 virtual void processUpdateNotifyLevel(DtNotifyLevelType level);
98 virtual DtResignAction resignAction()
const;
107 std::shared_ptr<DtFilePrinter> logPrinter);
113 static bool shutdownSignalCaught();
114 static void caughtShutdownSignal();
117 static const MAKRti::DtString& shutDownStatement();
120 static const MAKRti::DtString& readyStatement();
129 virtual void cleanupConstructorException();
132 virtual void wait(DtTime intervalInSeconds);
138 virtual bool tick(
bool noCallbacks =
false);
144 virtual void sendFederationShadowHandshakeMsg(
DtHandle destinationId,
148 virtual void federationShadowToForwarderHandshake();
152 virtual bool queueMessage(
const DtRtiMsg& msg);
153 virtual DtRtiMsg* popMessageQueue();
154 virtual void processQueuedMessages(
DtRtiMsg* nextMessage);
168 virtual void processJoinMsg(
const DtJoinMsg& msg);
169 static void processJoinMsg(
const DtJoinMsg& msg,
void* usr);
178 virtual void processResignMsg(
const DtResignMsg& msg);
179 static void processResignMsg(
const DtResignMsg& msg,
void* usr);
184 virtual void processRegObjMsg(
const DtRegObjMsg& msg);
185 static void processRegObjMsg(
const DtRegObjMsg& msg,
void* usr);
190 virtual void processAssocPubRegMsg(
const DtAssocPubRegMsg& msg);
191 static void processAssocPubRegMsg(
const DtAssocPubRegMsg& msg,
void* usr);
194 static void processDeleteRoMsg(
const DtDeleteRoMsg& msg,
void* usr);
196 virtual void processDeleteTsoMsg(
const DtDeleteTsoMsg& msg);
197 static void processDeleteTsoMsg(
const DtDeleteTsoMsg& msg,
void* usr);
200 static void processOwnershipMsg(
const DtOwnershipMsg& msg,
void* usr);
DtConnectionMgr * connectMgr()
Return the connection manager.
Definition: federationShadow.h:255
DtFederationShadow *(* DtFederationShadowCreator)(DtHandle federationHandle, const MAKRti::DtString &federationName, DtRIDParameters *p, std::shared_ptr< DtFilePrinter > logPrinter)
DtFederationShadow creator callback signature.
Definition: federationShadow.h:46
Definition: federationShadowShutdownMsg.h:17
FederateShadowByHandleMap myFederatesByConnection
List of federates.
Definition: federationShadow.h:232
Instances of DtFederationShadow implement a central server responsible for keeping track of the owner...
Definition: federationShadow.h:54
Definition: joinRespMsg.h:28
DtFederationHandle myFederationHandle
Definition: federationShadow.h:227
Definition: joinConfMsg.h:24
DtHandle DtFederationHandle
Definition: internalTypes.h:44
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
DtClock myClock
Definition: federationShadow.h:225
Definition: federateShadow.h:50
#define DT_DLL_FEDSHDW
Definition: rtiMsConfig.h:159
Definition: ownerMsg.h:45
static const MAKRti::DtString theReadyStatement
Definition: federationShadow.h:251
Definition: resignMsg.h:36
DtFederateShadow * federate(DtFederateHandle federateHandle)
Return the federate with the given handle; null if does not exist.
Definition: federationShadow.h:265
Definition: resignDirectiveMsg.h:24
static DtFederationShadowCreator theCreator
Definition: federationShadow.h:248
DtResignAction myResignAction
Automatic resign action for federates that crash or forced to resign.
Definition: federationShadow.h:220
DtFederationShadowHandshakeMsg::HandshakeStatus myHandshakeStatus
Definition: federationShadow.h:229
std::set< DtFederateHandle > myJoinedFederates
Definition: federationShadow.h:234
Definition: creRespMsg.h:36
bool myExitCommanded
Flag indicating that an exit command was received.
Definition: federationShadow.h:237
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:217
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtHandle DtFederateHandle
Definition: internalTypes.h:46
DtConnectionMgr * myConnectionMgr
Definition: federationShadow.h:214
std::map< DtHandle, DtFederateShadow * > FederateShadowByHandleMap
Definition: federationShadow.h:208
Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining ...
Definition: synchronousFileDistributor.h:27
DtFederateHandle myFederateHandle
Definition: federationShadow.h:228
bool myProcessingJoinResponse
Manage concurrent processing of joining federates.
Definition: federationShadow.h:243
Definition: regObjMsg.h:25
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
static const MAKRti::DtString theShutDownStatement
Definition: federationShadow.h:250
DtSynchronousFileDistributor * myFomDistributor
The Fed File Distributor of the joined federation execution.
Definition: federationShadow.h:223
bool myPendingQuit
Definition: federationShadow.h:238
std::queue< DtRtiMsg * > myBufferedMessages
Manage concurrent processing of joining federates.
Definition: federationShadow.h:242
MAKRti::DtString myFederationName
Definition: federationShadow.h:226
Definition: federationShadowHandshakeMsg.h:18
Definition: multiRegObjMsg.h:21
const DtRIDParameters & params() const
Return the RID parameters.
Definition: federationShadow.h:260
The declaration of internal types.
std::shared_ptr< DtFilePrinter > myLogPrinter
Printer which prints output to a log file.
Definition: federationShadow.h:212
static bool theShutdownSignalCaught
Definition: federationShadow.h:249
DtRIDParameters * myParams
Definition: federationShadow.h:209
Definition: fomModuleManager.h:39
Message for sending receive order delete.
Definition: deleteRoMsg.h:23
void RTI_EXPORT checkVersion(const MAKRti::DtString &version)
Called by the exec application to make sure that the RTI Version matches.
HandshakeStatus
Definition: federationShadowHandshakeMsg.h:21
FederateShadowByHandleMap myFederatesByHandle
Definition: federationShadow.h:233