13 #ifndef DtTestManager_H_
14 #define DtTestManager_H_
18 #include <vlutil/vlString.h>
19 #include <vlutil/vlTime.h>
20 #include <vlutil/vlFedTarget.h>
21 #include <vlutil/vlMutex.h>
30 using namespace rti1516;
31 #elif defined(DtIFSPEC1516E)
35 using namespace rti1516e;
79 initiatorType (DtInitiatedByAssistant),
121 rti1516::RTIambassador* rtiAmb();
124 rti1516::RTIambassador* rtiAmb()
const;
125 #elif defined(DtIFSPEC1516E)
133 RTI::RTIambassador* rtiAmb();
136 RTI::RTIambassador* rtiAmb()
const;
146 virtual MAKRti::DtTime time()
const;
150 virtual void postJoinInit();
153 virtual void resign();
156 virtual void tick(
unsigned long tickCount);
159 virtual float averageTickPeriod()
const;
162 virtual void enableNetworkTesting();
165 virtual void disableNetworkTesting();
168 virtual bool networkTestingEnabled()
const;
179 virtual bool testMgrCurrentlySending()
const;
182 virtual bool queueMsgForSend(
DtRtiMsg& msg )
const;
186 virtual void setTestMgrCurrentlySending(
bool isSending,
187 unsigned int testID = 0 );
190 virtual bool addSendTimeStampMetaDataIfNecessary(
DtRtiMsg& msg );
193 virtual bool addReceiveTimeStampIfNecessary(
DtRtiMsg& msg );
200 virtual bool addAsyncQueueMsgOnRecieve(
DtRtiMsg& msg);
206 virtual void sendStatusMessages()
const;
223 virtual void changeLatencyTestRequestByType(
bool initiateTest,
bool continuousCommand,
224 bool stopContinuous,
bool observing,
DtInitiatorByType type, MAKRti::DtTime period,
225 unsigned int numInteractions,
unsigned int payloadSize );
229 virtual void initiateLatencyTest();
232 virtual void processLatencyTest();
235 virtual bool getTestIDFromMetaData(
DtRtiMsg& msg,
unsigned int& testID)
const;
244 virtual bool atLeastOneKnownFederate()
const;
253 virtual void addSendInteractionTimeStamp(
unsigned int testID );
260 virtual void addNetSendTimeStamp(
unsigned int testID,
DtRtiMsg& msg );
267 virtual void addNetReceiveTimeStamp(
unsigned int testID,
const DtRtiMsg& msg );
273 virtual void addReceiveInteractionTimeStamp(
unsigned int testID, MAKRti::DtTime timeToUse );
278 virtual void removeKnowledgeOfTestId(
unsigned int testID );
284 virtual void addAsyncQueueMsgTimeStamp(
unsigned int& testID,
const DtRtiMsg& msg );
287 MAKRti::DtTransportType transportTypeForTestID(
unsigned int testID );
295 virtual unsigned int lastSentTestID()
const;
298 virtual void setLastSentTestID(
unsigned int testID );
301 virtual bool sendSingleLatencyInteraction(
unsigned int testID,
303 MAKRti::DtTransportType transport,
304 unsigned int payload );
308 virtual bool addMetadataIfNecessary(
DtRtiMsg& msg,
unsigned int& testID )
const;
311 virtual bool shouldAddMetadataToMessage(
DtRtiMsg& msg )
const;
314 virtual bool isInitiatorOfTestID(
unsigned int testID )
const;
317 virtual void calculateTickTime(
unsigned long tickCount );
324 virtual bool sendInteraction(
unsigned int testID,
330 static void processSub(
const DtSubInterMsg& msg,
void* usr );