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),
125 #elif defined(DtIFSPEC1516E)
132 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 );
MAKRti::DtClock myClock
Keep track of time.
Definition: testManager.h:366
Definition: RTIambassador.h:27
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:387
DtInitiatorLatencyTest runs network connectivity tests between local RTI components.
Definition: initiatorLatencyTest.h:38
unsigned int payLoadSize
Definition: testManager.h:90
std::map< unsigned int, DtTimeStampMap > DtTestToTimeStampMap
Definition: testManager.h:72
unsigned int myInitiatedTrialID
What trials am I waiting to complete?
Definition: testManager.h:393
std::multimap< DtMetadataType, MAKRti::DtTime > DtTimeStampMap
Definition: testManager.h:71
A class provided by the HLA C++ Interface Specification which federates use to communicate with the R...
float mySecondTickTime
the second tick time we're using for avgTickPeriod.
Definition: testManager.h:419
DtTrialDetails()
Definition: testManager.h:76
DtFederateMgr * myFedMgr
The federate manager.
Definition: testManager.h:354
Definition: resignMsg.h:36
Definition: testManager.h:74
bool mySendSubscribe
Definition: testManager.h:397
DtLatencyTestInteraction holds the data needed to send a test latency interaction.
Definition: testInteraction.h:165
DtLatencyTestInteraction * myLatencyInteraction
The latency test interaction.
Definition: testManager.h:363
bool mySendingInteraction
Set when testMgr sends a message, is cleared by accessor when connectMgr checks whether the last mess...
Definition: testManager.h:383
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:35
DtMutex myRecipientMutex
Definition: testManager.h:438
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:401
DtTestMgrFedAmbWrapper is installed by the testManager and serves to catch testInteraction messages f...
Definition: testMgrFedAmbWrapper.h:42
DtMutex myInitiatorMutex
lock for the initiator test
Definition: testManager.h:437
MAKRti::DtTime period
Definition: testManager.h:91
unsigned long myInitialTickCount
the earliest tick count we're using for avgTickPeriod.
Definition: testManager.h:416
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:84
unsigned int federateHandle
Definition: testManager.h:87
enum DtTestManager::DtInitiatorByType_e DtInitiatorByType
unsigned long mySecondTickCount
the second tick count we're using for avgTickPeriod.
Definition: testManager.h:422
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:45
DtHandle DtFederateHandle
Definition: internalTypes.h:29
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:371
DtInitiatorByType initiatorType
Definition: testManager.h:88
std::list< DtTrialDetails > myTrialsToInitiate
List of trials to initiate.
Definition: testManager.h:404
Definition: unsubIntMsg.h:23
DtRecipientLatencyTest * myRecipientTest
Handles receiving tests from other federates.
Definition: testManager.h:360
unsigned myNumTestReportsGenerated
The number of test reports this federate has generated.
Definition: testManager.h:434
unsigned int myCurrentTrialID
What is the current trial number.
Definition: testManager.h:390
DtFederateHandle myInitiatedFedHandle
Definition: testManager.h:394
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:428
This file contains enumerations used by the interface.
bool continuous
Definition: testManager.h:92
Definition: subInterMsg.h:22
This file contains the rti1516e::RTIambassador class.
unsigned myNumInitiatedTests
The number of tests this federate has initiated.
Definition: testManager.h:431
std::set< DtInitiatorByType > myObservers
list of observers.
Definition: testManager.h:374
bool myRunningContinuous
Are we currently running a continuous test?
Definition: testManager.h:369
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
DtInitiatorByType_e
Definition: testManager.h:70
float myAverageTickPeriod
The average period between ticks.
Definition: testManager.h:425
DtTestToTimeStampMap myCompletedAveragedInitiatedTests
Storage of my completed initiated tests.
Definition: testManager.h:377
float myInitialTickTime
the earliest tick time we're using for avgTickPeriod.
Definition: testManager.h:413
DtTestManager runs network connectivity tests between local RTI components.
Definition: testManager.h:66
unsigned int numInteractions
Definition: testManager.h:89
DtInitiatorLatencyTest * myInitiatorTest
Handles initiating tests with other federates.
Definition: testManager.h:357
std::set< DtFederateHandle > myListOfKnownFederates
Our list of known federates (not including self).
Definition: testManager.h:410
DtInteractionMsg is a message type that represents an HLA Interaction.
Definition: interactMsg.h:27