![]() |
MAK RTIspy API Documentation for HLA 1.3
|
DtLatencyTest runs network latency tests between local RTI components. More...
Inheritance diagram for DtLatencyTest:
Collaboration diagram for DtLatencyTest:Classes | |
| struct | DtLatencyTestReportStruct |
| Struct contains all report-worth details of a test. More... | |
Public Member Functions | |
| DtLatencyTest (DtTestManager *parent) | |
| Constructor. | |
| DtLatencyTest () | |
| Default constructor. Not implemented. | |
| virtual | ~DtLatencyTest () |
| Destructor. | |
| virtual bool | tick () |
| Process test activities. | |
| virtual void | postJoinInit () |
| Perform initializations that will allow tests to be run (e.g., publish and subscribe to test interaction) | |
| virtual void | resign () |
| Perform clean up from test instrumentation. | |
| virtual void | addSendInteractionTimeStamp (unsigned int testID)=0 |
| called by testMgr | |
| virtual void | addNetSendTimeStamp (unsigned int testID, DtRtiMsg &msg)=0 |
| called by either test initiator or test recipient. | |
| virtual void | addNetReceiveTimeStamp (unsigned int testID, const DtRtiMsg &msg)=0 |
| called by either test initiator or test recipient. | |
| virtual void | addReceiveInteractionTimeStamp (unsigned int testID, MAKRti::DtTime timeToUse)=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. | |
| virtual void | addTransportTypeForTestID (unsigned int testID, MAKRti::DtTransportType type) |
| Add a mapping for this testID to this transport type. | |
| virtual MAKRti::DtTransportType | transportTypeForTestID (unsigned int testID) const |
| look up the transport type for this testID. | |
| virtual void | removeKnowledgeOfTestId (unsigned int testID) |
| Remove knowledge of this testID. | |
| MAKRti::DtTime | time () const |
Protected Types | |
| typedef std::multimap < DtMetadataType, MAKRti::DtTime > | DtTimeStampMap |
| typedef std::map< unsigned int, DtTimeStampMap > | DtTestToTimeStampMap |
| typedef std::multimap < DtFederateHandle, unsigned int > | DtFedHandleToTestMap |
Protected Attributes | |
| DtTestManager * | myTestManager |
| DtTestToTimeStampMap | myTestsInProgressTimeStamps |
| TimeStamp storage (by testID) of all my known tests. | |
| std::map< unsigned int, MAKRti::DtTransportType > | myTransportByTestID |
Private Member Functions | |
| DtLatencyTest (DtLatencyTest const &orig) | |
| Copy Constructor - not allowed. | |
| DtLatencyTest & | operator= (DtLatencyTest const &orig) |
| Assignment operator - not allowed. | |
DtLatencyTest runs network latency tests between local RTI components.
typedef std::multimap<DtFederateHandle, unsigned int> DtLatencyTest::DtFedHandleToTestMap [protected] |
Reimplemented in DtInitiatorLatencyTest.
typedef std::map<unsigned int, DtTimeStampMap > DtLatencyTest::DtTestToTimeStampMap [protected] |
typedef std::multimap<DtMetadataType, MAKRti::DtTime> DtLatencyTest::DtTimeStampMap [protected] |
| DtLatencyTest::DtLatencyTest | ( | DtTestManager * | parent | ) |
Constructor.
Default constructor. Not implemented.
| DtLatencyTest::~DtLatencyTest | ( | ) | [virtual] |
Destructor.
| DtLatencyTest::DtLatencyTest | ( | DtLatencyTest const & | orig | ) | [private] |
Copy Constructor - not allowed.
| virtual void DtLatencyTest::addAsyncQueueMsgTimeStamp | ( | unsigned int | testID, |
| const DtRtiMsg & | msg | ||
| ) | [pure virtual] |
called by either test initiator or test recipient.
Record the current time and associate it with the input test ID in myTestsInProgressTimeStamp with a async Queue Msg time stamp.
Implemented in DtInitiatorLatencyTest, and DtRecipientLatencyTest.
| virtual void DtLatencyTest::addNetReceiveTimeStamp | ( | unsigned int | testID, |
| const DtRtiMsg & | msg | ||
| ) | [pure virtual] |
called by either test initiator or test recipient.
Record the current time and associate it with the input test ID in myTestsInProgressTimeStamp with a net receive metadata type.
Implemented in DtInitiatorLatencyTest, and DtRecipientLatencyTest.
| virtual void DtLatencyTest::addNetSendTimeStamp | ( | unsigned int | testID, |
| DtRtiMsg & | msg | ||
| ) | [pure virtual] |
called by either test initiator or test recipient.
Record the current time and associate it with the input test ID in myTestsInProgressTimeStamp with a net send metadata type.
Implemented in DtInitiatorLatencyTest, and DtRecipientLatencyTest.
| virtual void DtLatencyTest::addReceiveInteractionTimeStamp | ( | unsigned int | testID, |
| MAKRti::DtTime | timeToUse | ||
| ) | [pure virtual] |
called by either test initiator or test recipient.
Record the current time and associate it with the input test ID in myTestsInProgressTimeStamp with a receive Interaction metadata type.
Implemented in DtInitiatorLatencyTest, and DtRecipientLatencyTest.
| virtual void DtLatencyTest::addSendInteractionTimeStamp | ( | unsigned int | testID | ) | [pure virtual] |
called by testMgr
called by either test initiator or test recipient. Record the current time and associate it with the input test ID in myTestsInProgressTimeStamp with a send Interaction metadata type.
Implemented in DtInitiatorLatencyTest, and DtRecipientLatencyTest.
| void DtLatencyTest::addTransportTypeForTestID | ( | unsigned int | testID, |
| MAKRti::DtTransportType | type | ||
| ) | [virtual] |
Add a mapping for this testID to this transport type.
References myTransportByTestID.
Referenced by DtRecipientLatencyTest::addNetReceiveTimeStamp().
| DtLatencyTest& DtLatencyTest::operator= | ( | DtLatencyTest const & | orig | ) | [private] |
Assignment operator - not allowed.
| void DtLatencyTest::postJoinInit | ( | ) | [virtual] |
Perform initializations that will allow tests to be run (e.g., publish and subscribe to test interaction)
| void DtLatencyTest::removeKnowledgeOfTestId | ( | unsigned int | testID | ) | [virtual] |
Remove knowledge of this testID.
Typically called when we're stored time stamps for a received message and then later determined it was not addressed to us.
References myTestsInProgressTimeStamps, and myTransportByTestID.
Referenced by DtTestManager::removeKnowledgeOfTestId().
| void DtLatencyTest::resign | ( | ) | [virtual] |
Perform clean up from test instrumentation.
| bool DtLatencyTest::tick | ( | ) | [virtual] |
Process test activities.
Reimplemented in DtInitiatorLatencyTest, and DtRecipientLatencyTest.
| MAKRti::DtTime DtLatencyTest::time | ( | ) | const |
References myTestManager, and DtTestManager::time().
Referenced by DtRecipientLatencyTest::addAsyncQueueMsgTimeStamp(), DtInitiatorLatencyTest::addAsyncQueueMsgTimeStamp(), DtRecipientLatencyTest::addNetReceiveTimeStamp(), DtInitiatorLatencyTest::addNetReceiveTimeStamp(), DtRecipientLatencyTest::addNetSendTimeStamp(), DtInitiatorLatencyTest::addNetSendTimeStamp(), DtRecipientLatencyTest::addSendInteractionTimeStamp(), DtInitiatorLatencyTest::addSendInteractionTimeStamp(), and DtInitiatorLatencyTest::getCompletedReportByTestID().
| MAKRti::DtTransportType DtLatencyTest::transportTypeForTestID | ( | unsigned int | testID | ) | const [virtual] |
look up the transport type for this testID.
References myTransportByTestID.
Referenced by DtTestManager::receiveInteraction().
DtTestManager* DtLatencyTest::myTestManager [protected] |
Referenced by DtRecipientLatencyTest::addNetSendTimeStamp(), DtInitiatorLatencyTest::averageReports(), DtInitiatorLatencyTest::consumeTestId(), DtInitiatorLatencyTest::currTestId(), DtInitiatorLatencyTest::getCompletedReportByTestID(), DtInitiatorLatencyTest::initiateLatencyTest(), DtInitiatorLatencyTest::takeCompletedTestReport(), DtInitiatorLatencyTest::tick(), and time().
TimeStamp storage (by testID) of all my known tests.
Tests are removed by the test recipient on netSend and by the test initiator on receiveInteraction.
Referenced by DtRecipientLatencyTest::addAsyncQueueMsgTimeStamp(), DtInitiatorLatencyTest::addAsyncQueueMsgTimeStamp(), DtRecipientLatencyTest::addNetReceiveTimeStamp(), DtInitiatorLatencyTest::addNetReceiveTimeStamp(), DtRecipientLatencyTest::addNetSendTimeStamp(), DtInitiatorLatencyTest::addNetSendTimeStamp(), DtRecipientLatencyTest::addReceiveInteractionTimeStamp(), DtInitiatorLatencyTest::addReceiveInteractionTimeStamp(), DtRecipientLatencyTest::addSendInteractionTimeStamp(), DtInitiatorLatencyTest::addSendInteractionTimeStamp(), removeKnowledgeOfTestId(), and DtInitiatorLatencyTest::testIsFinished().
std::map<unsigned int, MAKRti::DtTransportType> DtLatencyTest::myTransportByTestID [protected] |
Referenced by DtInitiatorLatencyTest::addNetReceiveTimeStamp(), addTransportTypeForTestID(), DtInitiatorLatencyTest::getCompletedReportByTestID(), DtInitiatorLatencyTest::getCurrentTestInfo(), removeKnowledgeOfTestId(), DtInitiatorLatencyTest::takeCompletedTestReport(), DtInitiatorLatencyTest::tick(), and transportTypeForTestID().