22 #include <vlutil/vlTime.h>
23 #include <vlutil/vlList.h>
24 #include <vlutil/vlUtil.h>
25 #include <vlutil/vlPrint.h>
26 #include <vlutil/vlInetAddr.h>
69 std::shared_ptr<DtFilePrinter> logPrinter,
154 std::shared_ptr<DtFilePrinter> logPrinter,
163 virtual void shutdownForwarderIfCreated();
165 virtual void shutdownFederationShadow(
DtHandle handle,
const DtString& name);
168 virtual void checkVersion(
const DtString& version)
const;
172 virtual void processCreate(
const DtCreateMsg& msg);
176 virtual void processJoin(
const DtJoinMsg& msg);
188 DtConnectionMgr* connMgr,
const std::vector<unsigned int> & crcs,
const char* fedExName,
189 std::string
const & timeImplName, MAKRti::DtFomType fedType,
190 const std::vector<DtString>& fedFileName,
const DtString& momModuleName,
198 virtual bool exists(
const DtString& fedExName);
205 virtual void destroyFederationByName(
const DtString& fullFedexName,
206 bool sendDestroyResponse =
true,
207 bool forceDestroy =
false );
217 virtual void listFederates();
220 virtual void parseDeleteCommand(
const DtString& command,
221 unsigned int& handle,
222 DtString& federationName )
const;
224 virtual int deleteFederate(
unsigned int handle,
225 const DtString& federationName );
228 virtual void processUpdateNotifyLevel( DtNotifyLevelType level );
234 virtual void enableLogging();
237 virtual RTI_API::Authorizer* authorizer();
241 DtFedExec* fedExec(
const DtString& fedExName);
242 const DtFedExec* fedExec(
const DtString& fedExName)
const;
245 const std::map<DtString, DtFedExec*>& fedExecs()
const;
257 virtual bool tick(
bool noCallbacks =
false );
260 virtual void wait(DtTime intervalInSeconds);
264 virtual void addFedExCreatedCallback(
DtFedExCbFn fn,
void* usr);
265 virtual void removeFedExCreatedCallback(
DtFedExCbFn fn,
void* usr);
267 virtual void addFedExDestroyedCallback(
DtFedExCbFn fn,
void* usr);
268 virtual void removeFedExDestroyedCallback(
DtFedExCbFn fn,
void* usr);
274 virtual void addTickCallback(
DtTickCbFn fn,
void* usr, DtTime interval );
275 virtual void removeTickCallback(
DtTickCbFn fn,
void* usr );
285 virtual void sendCreateResponseMsg(
const unsigned long destinationID,
DtCreateResponseFlag flag,
286 MAKRti::DtString
const & errorString);
288 virtual void sendReportFederationsMsg(
unsigned long destId,
289 const std::vector<DtString>& federationNames,
const std::vector<DtString>& timeImplNames);
290 virtual void sendReportFederationMembersMsg(
unsigned long destId, DtString federationName,
292 virtual void sendJoinResponseMsg(
293 unsigned long destinationIDValue,
unsigned short requestID,
unsigned int crc,
294 DtFederateHandle handle,
const char* fedName,
int fedExHandle,
const char* fedExName,
295 const DtString& momModule,
const std::vector<DtString>& fedFileName,
296 unsigned long flags,
bool allowNetworkTesting,
297 MAKRti::DtString
const & errorString,
311 std::shared_ptr<DtFilePrinter> logPrinter,
312 bool autoExit =
false,
323 static void processCreate(
const DtCreateMsg& msg,
void *usr);
324 static void processDestroy(
const DtDestroyMsg& msg,
void* usr);
327 static void processJoin(
const DtJoinMsg& msg,
void* usr);
329 static void processQueueFull(
const DtQueueFullMsg& msg,
void* usr);
330 static void processReconnect(
const DtReconnectMsg& msg,
void* usr);
334 static bool shutdownSignalCaught();
335 static void caughtShutdownSignal();
341 void cleanupConstructorException();
345 virtual void rtiExecToForwarderHandshake();
354 virtual void performMulticastDiscovery(
bool reliableTransportDisabled );
357 virtual void removeDroppedFederateConnections();
363 ForwarderStartupFailed
367 virtual DtStartRtiForwarderResult startRtiForwarder(
const DtRIDParameters* params);
370 virtual bool startFederationShadow(
DtHandle federationHandle,
const DtString& federationName);
373 virtual bool authorizeFederationOperation(
const DtCreateMsg& msg, DtString& errorMessage);
DtTickCallbackInfo(DtTickCbFn fn, void *data, DtTime interval)
Definition: exec.h:97
DtConnectionMgr * myConnectionMgr
Definition: exec.h:380
bool myPendingDelete
Definition: exec.h:391
DtRtiExecHandshakeMsg::DtHandshakeStatus myHandshakeStatus
Definition: exec.h:407
static bool theShutdownSignalCaught
Definition: exec.h:378
Definition: extendedRtiMsgForwarder.h:30
std::map< DtString, DtFedExec * > myExecByName
Definition: exec.h:381
Sent by Federates to request testing of the RID file from RtiExec.
Definition: ridTestRequestMsg.h:29
std::shared_ptr< DtExtendedRtiMsgForwarder > DtRtiMsgForwarderSP
Smart pointer to forwarder needed for vlThreads.
Definition: exec.h:51
DtTickWithExecCbFn myFn
Definition: exec.h:126
Definition: createMsg.h:24
DtDestroyResponseFlag
Definition: desRespMsg.h:23
Info for tick callbacks.
Definition: exec.h:94
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
std::shared_ptr< DtFilePrinter > myLogPrinter
Printer which prints output to a log file.
Definition: exec.h:427
Definition: fedTimeFactory.h:73
bool operator<(const DtLogFileNameCallbackInfo &other) const
Definition: exec.h:138
This file contains the declaration of DtRtiConnectionInfo.
Info for log file name callbacks.
Definition: exec.h:132
std::pair< DtRtiConnectionInfo, DtRtiAssociatedConnectionData > DtRtiConnectionInfoDataPair
Pair of connection with associated data.
Definition: assistantConnectionInfo.h:29
std::list< DtTickCallbackInfo > myTickCallbacks
List of tick callbacks.
Definition: exec.h:398
DtFedExCbFn myFn
Definition: exec.h:90
std::map< unsigned long, DtTime > DtConnIdToTimeMap
Definition: exec.h:377
void * myData
Definition: exec.h:106
DtTime myInterval
Definition: exec.h:127
void(* DtFedExCbFn)(DtFedExec *exec, void *usr)
Create/Destroy federation callback function signature.
Definition: exec.h:73
bool myExitCommanded
Flag indicating that an exit command was received.
Definition: exec.h:424
void(* DtTickWithExecCbFn)(const DtRtiExec &exec, void *usr)
Definition: exec.h:77
Definition: queueFullMsg.h:21
DtTime myNextExecutionTime
Definition: exec.h:128
bool myAutoExit
Definition: exec.h:421
DtLogFileNameCbFn myFn
Definition: exec.h:145
bool operator<(const DtTickCallbackInfo &other) const
Definition: exec.h:100
DtForwarderFaultManager * myFaultManager
Definition: exec.h:411
Definition: listFederationMembersMsg.h:20
errorCodes
error codes for the errorValue flag
Definition: joinRespMsg.h:32
bool operator<(const DtTickWithExecCallbackInfo &other) const
Definition: exec.h:119
DtTime myNextExecutionTime
Definition: exec.h:109
std::list< DtLogFileNameCallbackInfo > myLogFileNameCallbacks
List of log file name update callbacks.
Definition: exec.h:404
void(* DtTickCbFn)(void *usr)
Tick callback function signatures.
Definition: exec.h:76
std::list< DtTickWithExecCallbackInfo > myTickWithExecCallbacks
List of tick callbacks with DtRtiExec reference.
Definition: exec.h:401
DtUniquePtr< RTI_API::Authorizer > myAuthorizer
Definition: exec.h:433
Definition: listFederationsMsg.h:22
DtString myFederationNameForDelete
Definition: exec.h:387
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
Definition: destroyMsg.h:30
bool myFedNameForDeleteComplete
Definition: exec.h:386
DtHandle DtFederateHandle
Definition: internalTypes.h:46
DtList myCreateCallbacks
Definition: exec.h:394
bool myCreatedRtiForwarder
Definition: exec.h:390
DtHandshakeStatus
Definition: execHandshakeMsg.h:26
DtConnIdToTimeMap myDisconnectedFederates
Map of dropped Federate to timestamp of drop.
Definition: exec.h:418
void * myData
Definition: exec.h:144
DtMulitcastDiscoveryMgr * myMcastDiscoveryMgr
Definition: exec.h:413
unsigned int myHandleForDelete
Definition: exec.h:388
DtRIDParameters * myParams
Definition: exec.h:420
DtCreateResponseFlag
Definition: creRespMsg.h:23
The DtMulitcastDiscoveryMgr can act as either a Requester or a Responder.
Definition: multicastDiscoveryMgr.h:33
int myFreeFedExHandle
Definition: exec.h:393
Info for tick callbacks with DtRtiExec reference.
Definition: exec.h:113
DtStartRtiForwarderResult
Definition: exec.h:359
DtRtiExec *(* DtRtiExecCreator)(DtRIDParameters *p, std::shared_ptr< DtFilePrinter > logPrinter, bool autoExit, const DtRtiConnectionInfoDataPair &connInfo)
DtRtiExec creator callback signature.
Definition: exec.h:68
bool myPendingQuit
Definition: exec.h:392
DtList myDestroyCallbacks
Definition: exec.h:395
void(* DtLogFileNameCbFn)(const DtFilename &file, void *usr)
Log file name update callback function signature.
Definition: exec.h:80
DtTime myNextHeartbeat
Definition: exec.h:408
DtConnectionMgr * connectMgr()
Returns the connection manager Not virtual because referenced in both ctors and dtors.
Definition: exec.h:441
Definition: disconnectMsg.h:21
The DtForwarderFaultManager class tracks federates and forwarders within the RTI's forwarding network...
Definition: forwarderFaultManager.h:30
Info for fed ex callbacks.
Definition: exec.h:83
DtTime myInterval
Definition: exec.h:108
Definition: reconnectMsg.h:22
DtTickCbFn myFn
Definition: exec.h:107
DtTickWithExecCallbackInfo(DtTickWithExecCbFn fn, void *data, DtTime interval)
Definition: exec.h:116
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
DtFedExCallbackInfo(DtFedExCbFn fn, void *data)
Definition: exec.h:86
void * myData
Definition: exec.h:89
DtLogFileNameCallbackInfo(DtLogFileNameCbFn fn, void *data)
Definition: exec.h:135
DtRtiConnectionInfoDataPair myConnInfo
Definition: exec.h:429
static DtRtiExecCreator theCreator
Definition: exec.h:438
Definition: joinRespMsg.h:33
std::map< DtFederationHandle, DtFedExec * > myExecByHandle
Definition: exec.h:382
DtRtiMsgForwarderSP myRtiForwarder
Definition: exec.h:410
Definition: execHandshakeMsg.h:23
Defines a ThreadedObject which can run a DtRunnable object in a thread.
void * myData
Definition: exec.h:125
void RTI_EXPORT checkVersion(const MAKRti::DtString &version)
Called by the exec application to make sure that the RTI Version matches.
DtString lineOfInput
Definition: exec.h:383
std::vector< DtFederateNameTypePair > DtFederateList
Definition: reportFederationMembersMsg.h:24
DtClock myClock
Definition: exec.h:406
#define DT_DLL_EXEC
Definition: rtiMsConfig.h:152
bool myHandleForDeleteComplete
Definition: exec.h:385
DtString myHostname
Definition: exec.h:431
const DtRIDParameters & params() const
Returns a handle to the current RID Params.
Definition: exec.h:446