13 #ifndef DtTestManager_H_
14 #define DtTestManager_H_
18 #if !defined(DtIFSPEC13)
22 #include <vlutil/vlString.h>
23 #include <vlutil/vlTime.h>
24 #include <vlutil/vlFedTarget.h>
25 #include <vlutil/vlMutex.h>
63 initiatorType (DtInitiatedByAssistant),
104 RTI_API::RTIambassador* rtiAmb();
107 RTI_API::RTIambassador* rtiAmb()
const;
116 virtual MAKRti::DtTime time()
const;
120 virtual void postJoinInit();
123 virtual void resign();
126 virtual void tick(
unsigned long tickCount);
129 virtual float averageTickPeriod()
const;
132 virtual void enableNetworkTesting();
135 virtual void disableNetworkTesting();
138 virtual bool networkTestingEnabled()
const;
149 virtual bool testMgrCurrentlySending()
const;
152 virtual bool queueMsgForSend(
DtRtiMsg& msg )
const;
156 virtual void setTestMgrCurrentlySending(
bool isSending,
157 unsigned int testID = 0 );
160 virtual bool addSendTimeStampMetaDataIfNecessary(
DtRtiMsg& msg );
163 virtual bool addReceiveTimeStampIfNecessary(
DtRtiMsg& msg );
170 virtual bool addAsyncQueueMsgOnRecieve(
DtRtiMsg& msg);
176 virtual void sendStatusMessages()
const;
193 virtual void changeLatencyTestRequestByType(
bool initiateTest,
bool continuousCommand,
194 bool stopContinuous,
bool observing,
DtInitiatorByType type, MAKRti::DtTime period,
195 unsigned int numInteractions,
unsigned int payloadSize );
199 virtual void initiateLatencyTest();
202 virtual void processLatencyTest();
205 virtual bool getTestIDFromMetaData(
DtRtiMsg& msg,
unsigned int& testID)
const;
214 virtual bool atLeastOneKnownFederate()
const;
223 virtual void addSendInteractionTimeStamp(
unsigned int testID );
230 virtual void addNetSendTimeStamp(
unsigned int testID,
DtRtiMsg& msg );
237 virtual void addNetReceiveTimeStamp(
unsigned int testID,
const DtRtiMsg& msg );
243 virtual void addReceiveInteractionTimeStamp(
unsigned int testID, MAKRti::DtTime timeToUse );
248 virtual void removeKnowledgeOfTestId(
unsigned int testID );
254 virtual void addAsyncQueueMsgTimeStamp(
unsigned int& testID,
const DtRtiMsg& msg );
257 MAKRti::DtTransportType transportTypeForTestID(
unsigned int testID );
265 virtual unsigned int lastSentTestID()
const;
268 virtual void setLastSentTestID(
unsigned int testID );
271 virtual bool sendSingleLatencyInteraction(
unsigned int testID,
273 MAKRti::DtTransportType transport,
274 unsigned int payload );
278 virtual bool addMetadataIfNecessary(
DtRtiMsg& msg,
unsigned int& testID )
const;
281 virtual bool shouldAddMetadataToMessage(
DtRtiMsg& msg )
const;
284 virtual bool isInitiatorOfTestID(
unsigned int testID )
const;
287 virtual void calculateTickTime(
unsigned long tickCount );
294 virtual bool sendInteraction(
unsigned int testID,
300 static void processSub(
const DtSubInterMsg& msg,
void* usr );
MAKRti::DtClock myClock
Keep track of time.
Definition: testManager.h:336
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
unsigned int myTestIDOfLastSentInteraction
The testID of the currently running initiated test.
Definition: testManager.h:357
DtInitiatorLatencyTest runs network connectivity tests between local RTI components.
Definition: initiatorLatencyTest.h:38
unsigned int payLoadSize
Definition: testManager.h:74
std::map< unsigned int, DtTimeStampMap > DtTestToTimeStampMap
Definition: testManager.h:56
unsigned int myInitiatedTrialID
What trials am I waiting to complete?
Definition: testManager.h:363
std::multimap< DtMetadataType, MAKRti::DtTime > DtTimeStampMap
Definition: testManager.h:55
float mySecondTickTime
the second tick time we're using for avgTickPeriod.
Definition: testManager.h:389
DtTrialDetails()
Definition: testManager.h:60
DtFederateMgr * myFedMgr
The federate manager.
Definition: testManager.h:324
Definition: resignMsg.h:36
Definition: testManager.h:58
bool mySendSubscribe
Definition: testManager.h:367
DtLatencyTestInteraction holds the data needed to send a test latency interaction.
Definition: testInteraction.h:164
DtLatencyTestInteraction * myLatencyInteraction
The latency test interaction.
Definition: testManager.h:333
bool mySendingInteraction
Set when testMgr sends a message, is cleared by accessor when connectMgr checks whether the last mess...
Definition: testManager.h:353
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
DtMutex myRecipientMutex
Definition: testManager.h:408
virtual void receiveInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.7
DtTestMgrFedAmbWrapper * myTestFedAmbWrapper
Catches calls to ReceiveInteraction to prevent testInteractions from being delivered to the user...
Definition: testManager.h:371
DtTestMgrFedAmbWrapper is installed by the testManager and serves to catch testInteraction messages f...
Definition: testMgrFedAmbWrapper.h:45
DtMutex myInitiatorMutex
lock for the initiator test
Definition: testManager.h:407
MAKRti::DtTime period
Definition: testManager.h:75
unsigned long myInitialTickCount
the earliest tick count we're using for avgTickPeriod.
Definition: testManager.h:386
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
unsigned int federateHandle
Definition: testManager.h:71
enum DtTestManager::DtInitiatorByType_e DtInitiatorByType
unsigned long mySecondTickCount
the second tick count we're using for avgTickPeriod.
Definition: testManager.h:392
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtHandle DtFederateHandle
Definition: internalTypes.h:46
The DtAssistantChangeLatencyTestModeMsg defines a wrapper for the RTI Assistant initiate latency test...
Definition: assistantChangeLatencyTestModeMsg.h:36
DtTrialDetails myContinuousDetails
If so what are the details of the continuous test?
Definition: testManager.h:341
DtInitiatorByType initiatorType
Definition: testManager.h:72
std::list< DtTrialDetails > myTrialsToInitiate
List of trials to initiate.
Definition: testManager.h:374
Definition: unsubIntMsg.h:23
DtRecipientLatencyTest * myRecipientTest
Handles receiving tests from other federates.
Definition: testManager.h:330
unsigned myNumTestReportsGenerated
The number of test reports this federate has generated.
Definition: testManager.h:404
unsigned int myCurrentTrialID
What is the current trial number.
Definition: testManager.h:360
DtFederateHandle myInitiatedFedHandle
Definition: testManager.h:364
The DtChangeLatencyTestModeMsg defines a wrapper for the change latency test message used to command ...
Definition: changeLatencyTestModeMsg.h:35
DtRecipientLatencyTest runs network connectivity tests between local RTI components.
Definition: recipientLatencyTest.h:24
bool myEnabled
Is network testing enabled?
Definition: testManager.h:398
DtFederateHandleStdSet myListOfKnownFederates
Our list of known federates (not including self).
Definition: testManager.h:380
bool continuous
Definition: testManager.h:76
Definition: subInterMsg.h:22
This file contains the rti1516e::RTIambassador class.
unsigned myNumInitiatedTests
The number of tests this federate has initiated.
Definition: testManager.h:401
std::set< DtInitiatorByType > myObservers
list of observers.
Definition: testManager.h:344
bool myRunningContinuous
Are we currently running a continuous test?
Definition: testManager.h:339
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
DtInitiatorByType_e
Definition: testManager.h:54
Definition: pHandValSet.h:38
float myAverageTickPeriod
The average period between ticks.
Definition: testManager.h:395
DtTestToTimeStampMap myCompletedAveragedInitiatedTests
Storage of my completed initiated tests.
Definition: testManager.h:347
float myInitialTickTime
the earliest tick time we're using for avgTickPeriod.
Definition: testManager.h:383
DtTestManager runs network connectivity tests between local RTI components.
Definition: testManager.h:50
unsigned int numInteractions
Definition: testManager.h:73
DtInitiatorLatencyTest * myInitiatorTest
Handles initiating tests with other federates.
Definition: testManager.h:327
std::set< DtFederateHandle > DtFederateHandleStdSet
Definition: internalTypes.h:47
DtInteractionMsg is a message type that represents an HLA Interaction.
Definition: interactMsg.h:26