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>
62 DtBoost::shared_ptr<DtFilePrinter> logPrinter,
147 DtBoost::shared_ptr<DtFilePrinter> logPrinter,
156 virtual void shutdownForwarderIfCreated();
159 virtual void checkVersion(
const DtString& version)
const;
162 virtual void processCreate(
const DtCreateMsg& msg);
171 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();
238 DtFedExec* fedExec(
const DtString& fedExName);
239 const DtFedExec* fedExec(
const DtString& fedExName)
const;
242 const std::map<DtString, DtFedExec*>& fedExecs()
const;
254 virtual bool tick(
bool noCallbacks =
false );
257 virtual void wait(DtTime intervalInSeconds);
261 virtual void addFedExCreatedCallback(
DtFedExCbFn fn,
void* usr);
262 virtual void removeFedExCreatedCallback(
DtFedExCbFn fn,
void* usr);
266 virtual void addFedExDestroyedCallback(
DtFedExCbFn fn,
void* usr);
267 virtual void removeFedExDestroyedCallback(
DtFedExCbFn fn,
void* usr);
276 virtual void addTickCallback(
DtTickCbFn fn,
void* usr, DtTime interval );
277 virtual void removeTickCallback(
DtTickCbFn fn,
void* usr );
286 virtual void sendCreateResponseMsg(
const unsigned long destinationID,
288 virtual void sendDestroyResponseMsg(
290 virtual void sendReportFederationsMsg(
unsigned long destId,
291 const std::vector<DtString>& federationNames,
292 const std::vector<DtString>& timeImplNames);
293 virtual void sendJoinResponseMsg(
294 unsigned long destinationIDValue,
unsigned short requestID,
unsigned int crc,
295 DtFederateHandle handle,
const char* fedName,
int fedExHandle,
const char* fedExName,
296 const DtString& momModule,
const std::vector<DtString>& fedFileName,
297 unsigned long flags,
bool allowNetworkTesting,
298 MAKRti::DtString
const & errorString,
311 DtBoost::shared_ptr<DtFilePrinter> logPrinter,
312 bool autoExit =
false,
337 static void processJoin(
const DtJoinMsg& msg,
354 static bool shutdownSignalCaught();
355 static void caughtShutdownSignal();
361 void cleanupConstructorException();
365 virtual void rtiExecToForwarderHandshake();
374 virtual void performMulticastDiscovery(
bool reliableTransportDisabled );
377 virtual void removeDroppedFederateConnections();
383 ForwarderStartupFailed
387 virtual DtStartRtiForwarderResult startRtiForwarder(
const DtRIDParameters* params);
DtTickCallbackInfo(DtTickCbFn fn, void *data, DtTime interval)
Definition: exec.h:90
DtConnectionMgr * myConnectionMgr
Definition: exec.h:394
bool myPendingDelete
Definition: exec.h:405
DtRtiExecHandshakeMsg::DtHandshakeStatus myHandshakeStatus
Definition: exec.h:421
static bool theShutdownSignalCaught
Definition: exec.h:392
Definition: extendedRtiMsgForwarder.h:30
std::map< DtString, DtFedExec * > myExecByName
Definition: exec.h:395
Sent by Federates to request testing of the RID file from RtiExec.
Definition: ridTestRequestMsg.h:29
DtTickWithExecCbFn myFn
Definition: exec.h:119
Definition: createMsg.h:24
DtDestroyResponseFlag
Definition: desRespMsg.h:23
Info for tick callbacks.
Definition: exec.h:87
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
DtBoost::shared_ptr< DtExtendedRtiMsgForwarder > DtRtiMsgForwarderSP
Smart pointer to forwarder needed for vlThreads.
Definition: exec.h:49
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
bool operator<(const DtLogFileNameCallbackInfo &other) const
Definition: exec.h:131
This file contains the declaration of DtRtiConnectionInfo.
Info for log file name callbacks.
Definition: exec.h:125
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:412
DtFedExCbFn myFn
Definition: exec.h:83
std::map< unsigned long, DtTime > DtConnIdToTimeMap
Definition: exec.h:391
void * myData
Definition: exec.h:99
DtTime myInterval
Definition: exec.h:120
void(* DtFedExCbFn)(DtFedExec *exec, void *usr)
Create/Destroy federation callback function signature.
Definition: exec.h:66
bool myExitCommanded
Flag indicating that an exit command was received.
Definition: exec.h:438
void(* DtTickWithExecCbFn)(const DtRtiExec &exec, void *usr)
Definition: exec.h:70
Definition: queueFullMsg.h:21
DtTime myNextExecutionTime
Definition: exec.h:121
bool myAutoExit
Definition: exec.h:435
DtLogFileNameCbFn myFn
Definition: exec.h:138
bool operator<(const DtTickCallbackInfo &other) const
Definition: exec.h:93
DtForwarderFaultManager * myFaultManager
Definition: exec.h:425
errorCodes
error codes for the errorValue flag
Definition: joinRespMsg.h:31
bool operator<(const DtTickWithExecCallbackInfo &other) const
Definition: exec.h:112
DtTime myNextExecutionTime
Definition: exec.h:102
std::list< DtLogFileNameCallbackInfo > myLogFileNameCallbacks
List of log file name update callbacks.
Definition: exec.h:418
void(* DtTickCbFn)(void *usr)
Tick callback function signatures.
Definition: exec.h:69
std::list< DtTickWithExecCallbackInfo > myTickWithExecCallbacks
List of tick callbacks with DtRtiExec reference.
Definition: exec.h:415
Definition: listFederationsMsg.h:22
DtString myFederationNameForDelete
Definition: exec.h:401
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
Definition: destroyMsg.h:30
bool myFedNameForDeleteComplete
Definition: exec.h:400
DtHandle DtFederateHandle
Definition: internalTypes.h:29
DtList myCreateCallbacks
Definition: exec.h:408
bool myCreatedRtiForwarder
Definition: exec.h:404
DtHandshakeStatus
Definition: execHandshakeMsg.h:26
DtConnIdToTimeMap myDisconnectedFederates
Map of dropped Federate to timestamp of drop.
Definition: exec.h:432
void * myData
Definition: exec.h:137
DtMulitcastDiscoveryMgr * myMcastDiscoveryMgr
Definition: exec.h:427
unsigned int myHandleForDelete
Definition: exec.h:402
DtRIDParameters * myParams
Definition: exec.h:434
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:407
Info for tick callbacks with DtRtiExec reference.
Definition: exec.h:106
DtStartRtiForwarderResult
Definition: exec.h:379
bool myPendingQuit
Definition: exec.h:406
DtList myDestroyCallbacks
Definition: exec.h:409
void(* DtLogFileNameCbFn)(const DtFilename &file, void *usr)
Log file name update callback function signature.
Definition: exec.h:73
DtTime myNextHeartbeat
Definition: exec.h:422
DtConnectionMgr * connectMgr()
Returns the connection manager Not virtual because referenced in both ctors and dtors.
Definition: exec.h:453
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:76
DtTime myInterval
Definition: exec.h:101
Definition: reconnectMsg.h:22
DtTickCbFn myFn
Definition: exec.h:100
DtTickWithExecCallbackInfo(DtTickWithExecCbFn fn, void *data, DtTime interval)
Definition: exec.h:109
DtRtiExec *(* DtRtiExecCreator)(DtRIDParameters *p, DtBoost::shared_ptr< DtFilePrinter > logPrinter, bool autoExit, const DtRtiConnectionInfoDataPair &connInfo)
DtRtiExec creator callback signature.
Definition: exec.h:61
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:25
DtFedExCallbackInfo(DtFedExCbFn fn, void *data)
Definition: exec.h:79
void * myData
Definition: exec.h:82
DtLogFileNameCallbackInfo(DtLogFileNameCbFn fn, void *data)
Definition: exec.h:128
DtRtiConnectionInfoDataPair myConnInfo
Definition: exec.h:443
static DtRtiExecCreator theCreator
Definition: exec.h:450
Definition: joinRespMsg.h:32
std::map< DtFederationHandle, DtFedExec * > myExecByHandle
Definition: exec.h:396
DtRtiMsgForwarderSP myRtiForwarder
Definition: exec.h:424
Definition: execHandshakeMsg.h:23
Defines a ThreadedObject which can run a DtRunnable object in a thread.
void * myData
Definition: exec.h:118
void RTI_EXPORT checkVersion(const MAKRti::DtString &version)
Called by the exec application to make sure that the RTI Version matches.
DtBoost::shared_ptr< DtFilePrinter > myLogPrinter
Printer which prints output to a log file.
Definition: exec.h:441
DtString lineOfInput
Definition: exec.h:397
DtClock myClock
Definition: exec.h:420
#define DT_DLL_EXEC
Definition: rtiMsConfig.h:123
bool myHandleForDeleteComplete
Definition: exec.h:399
DtString myHostname
Definition: exec.h:445
const DtRIDParameters & params() const
Returns a handle to the current RID Params.
Definition: exec.h:458