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);