13 #ifndef DtInitiatorLatencyTest_H_
14 #define DtInitiatorLatencyTestr_H_
19 #include <vlutil/vlString.h>
20 #include <vlutil/vlTime.h>
21 #include <vlutil/vlFedTarget.h>
76 virtual bool canInitiateTest()
const;
78 virtual bool takeCompletedTestReport(
unsigned int trialID,
82 virtual void initiateLatencyTest(
unsigned int trialID,
83 unsigned int numInteractions,
84 unsigned int sizeOfPayload,
85 MAKRti::DtTime periodBetweenSends,
89 virtual bool testIsFinished(
unsigned int testID )
const;
92 virtual void getCurrentTestInfo(
unsigned int& testID,
94 MAKRti::DtTransportType& transport,
95 unsigned int& payloadSize )
const;
98 virtual bool trialIsFinished(
unsigned int trialID )
const;
106 virtual bool getCompletedReportByTestID(
unsigned int testID,
110 virtual void averageReports(
const std::vector<DtLatencyTestReportStruct*>& bestEffortTests,
111 const std::vector<DtLatencyTestReportStruct*>& reliableTests,
114 const MAKRti::DtString& recipientName,
115 const MAKRti::DtString& initiatorName,
118 unsigned int numBestEffortDropped,
119 unsigned int numReliableDropped,
124 virtual unsigned int currTestId()
const;
127 virtual void consumeTestId();
unsigned short myTestOffset
Definition: initiatorLatencyTest.h:139
std::map< unsigned int, DtRtiMtdFederateHostInformation::DtFederateHostInformation > myRecipientHostInfoMap
Map between federate handle and federate Information.
Definition: initiatorLatencyTest.h:173
DtAsynchronousIOModeEnum
0 == no Async IO 1 == Asynchronous IO, (same as old parameter RTI_asynchronousIO ) 2 == Asynchronous ...
Definition: RIDparams.h:111
std::multimap< DtFederateHandle, DtNumToTypePair > DtFedHandleToTestMap
Definition: initiatorLatencyTest.h:142
std::map< unsigned int, DtFedHandleToTestMap > myNumberOfInteractionsLeftByFederate
Map between trialIdentifier and federates involved in current trial and the number of Test Interactio...
Definition: initiatorLatencyTest.h:170
DtInitiatorLatencyTest runs network connectivity tests between local RTI components.
Definition: initiatorLatencyTest.h:38
virtual void addSendInteractionTimeStamp(unsigned int testID)=0
called by testMgr
virtual bool tick()
Process test activities.
unsigned int myTestIDOfCurrentTest
Definition: initiatorLatencyTest.h:179
virtual void addNetSendTimeStamp(unsigned int testID, DtRtiMsg &msg)=0
called by either test initiator or test recipient.
virtual void addAsyncQueueMsgTimeStamp(unsigned int testID, const DtRtiMsg &msg)=0
called by either test initiator or test recipient.
std::pair< unsigned int, MAKRti::DtTransportType > DtNumToTypePair
Definition: initiatorLatencyTest.h:141
std::map< unsigned int, std::set< unsigned int > > myTestIDsByTrial
Map between trialIdentifer and testIDs associated with the trial.
Definition: initiatorLatencyTest.h:176
MAKRti::DtTime myNextSend
Definition: initiatorLatencyTest.h:138
virtual void addReceiveInteractionTimeStamp(unsigned int testID, MAKRti::DtTime timeToUse)=0
called by either test initiator or test recipient.
DtAveragedLatencyTestReport encodes and decodes reports from tests between local RTI components...
Definition: averagedLatencyTestReport.h:48
unsigned int myNumTestsToAverage
When running a latency test we will average results from myNumTestsToAverage latency interactions...
Definition: initiatorLatencyTest.h:150
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
unsigned int myPayloadSize
When running a latency test, what is the size of the payload attached to interactions in bytes...
Definition: initiatorLatencyTest.h:159
Struct contains all report-worth details of a test.
Definition: latencyTest.h:53
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
The DtAssistantLatencyReportMsg defines a msg for a client to report the results of a latency test...
Definition: assistantLatencyReportMsg.h:38
DtTestToTimeStampMap myCompletedInitiatedTests
Definition: initiatorLatencyTest.h:145
Defines DtLatencyTest used to run network latency between local RTI components.
DtLatencyTest & operator=(DtLatencyTest const &orig)
Assignment operator - not allowed.
std::map< unsigned int, DtRIDParameters::DtAsynchronousIOModeEnum > myRecipientAsyncIOModeByFedHandle
What is the asynchronous processing mode of the recipient federate by FedHandle.
Definition: initiatorLatencyTest.h:162
MAKRti::DtTime myLatencyInterval
When running a latency test, what is the interval between the myNumTestsToAverage interactions...
Definition: initiatorLatencyTest.h:155
DtLatencyTest runs network latency tests between local RTI components.
Definition: latencyTest.h:47
virtual void addNetReceiveTimeStamp(unsigned int testID, const DtRtiMsg &msg)=0
called by either test initiator or test recipient.
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
std::map< unsigned int, DtFederateHandle > myFedHandleByTestID
Definition: initiatorLatencyTest.h:146
DtTestManager runs network connectivity tests between local RTI components.
Definition: testManager.h:66
std::set< unsigned int > myInitiatedTestIDs
Set of known tests are not removed when the test is finished.
Definition: initiatorLatencyTest.h:166
DtFederateHandle myFedHandleOfCurrentTest
Definition: initiatorLatencyTest.h:178