MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
latencyTest.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2008 VT MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: latencyTest.h,v $ $Revision: 1.6 $ $State: Exp $
7 *******************************************************************************/
8 
13 
14 #ifndef DtLatencyTest_H_
15 #define DtLatencyTest_H_
16 
17 
18 #include "rtiMsConfig.h"
19 #include <metadata.h>
20 #include "RIDparams.h"
21 #include "rtiApiTypes.h"
22 
23 #if !defined(DtIFSPEC13)
24 #include "RTI/RTIambassador.h"
25 #endif
26 
27 #include <vlutil/vlString.h>
28 #include <vlutil/vlTime.h>
29 #include <vlutil/vlFedTarget.h>
30 
31 class DtTestManager;
32 
36 {
37 
38 public:
39 
42  {
44  testID(0),
45  recipientAsyncMode(DtRIDParameters::DtSynchronousMode),
46  initiatorAsyncMode(DtRIDParameters::DtSynchronousMode),
47  averageInitiatorTickPeriod(0.0f),
48  averageRecipientTickPeriod(0.0f),
49  sizeOfPayload(0),
50  numbersAreReliable(false),
51  initiatorSendInteraction(0.0f),
52  initiatorNetSend(0.0f),
53  recipientNetRead(0.0f),
54  recipientQueueMsg(0.0f),
55  recipReceiveInteraction(0.0f),
56  recipientSendInteraction(0.0f),
57  recipientNetSend(0.0f),
58  initiatorNetRead(0.0f),
59  initiatorQueueMsg(0.0f),
60  initiatorReceiveInteraction(0.0f),
61  recipientName(0.0f)
62  { }
63 
64  unsigned int testID;
69  unsigned int sizeOfPayload;
70 
72 
73  MAKRti::DtTime initiatorSendInteraction;
74  MAKRti::DtTime initiatorNetSend;
75  MAKRti::DtTime recipientNetRead;
76  MAKRti::DtTime recipientQueueMsg;
77  MAKRti::DtTime recipReceiveInteraction;
78  MAKRti::DtTime recipientSendInteraction;
79  MAKRti::DtTime recipientNetSend;
80  MAKRti::DtTime initiatorNetRead;
81  MAKRti::DtTime initiatorQueueMsg;
83  MAKRti::DtString recipientName;
84  };
85 
88 
90  DtLatencyTest();
91 
93  virtual ~DtLatencyTest();
94 
96  virtual bool tick();
97 
100  virtual void postJoinInit();
101 
103  virtual void resign();
104 
105 
107 
111  virtual void addSendInteractionTimeStamp( unsigned int testID ) = 0;
112 
116  virtual void addNetSendTimeStamp( unsigned int testID, DtRtiMsg& msg ) = 0;
117 
121  virtual void addNetReceiveTimeStamp( unsigned int testID, const DtRtiMsg& msg ) = 0;
122 
126  virtual void addReceiveInteractionTimeStamp( unsigned int testID, MAKRti::DtTime timeToUse ) = 0;
127 
131  virtual void addAsyncQueueMsgTimeStamp( unsigned int testID, const DtRtiMsg& msg ) = 0;
132 
134  virtual void addTransportTypeForTestID(unsigned int testID, MAKRti::DtTransportType type );
135 
137  virtual MAKRti::DtTransportType transportTypeForTestID( unsigned int testID ) const;
138 
142  virtual void removeKnowledgeOfTestId( unsigned int testID );
143 
144  // Return the time as reported by the parent test Manager.
145  MAKRti::DtTime time() const;
146 
147 protected:
148 
149 
150 private:
152  DtLatencyTest(DtLatencyTest const& orig);
153 
155  DtLatencyTest& operator= (DtLatencyTest const& orig);
156 
157 protected:
158 
160 
161  typedef std::multimap<DtMetadataType, MAKRti::DtTime> DtTimeStampMap;
162  typedef std::map<unsigned int, DtTimeStampMap > DtTestToTimeStampMap;
163  typedef std::multimap<DtFederateHandle, unsigned int> DtFedHandleToTestMap;
164 
169 
170  std::map<unsigned int, MAKRti::DtTransportType> myTransportByTestID;
171 
172 };
173 
174 #endif
MAKRti::DtTime recipientQueueMsg
Definition: latencyTest.h:76
DtTestManager * myTestManager
Definition: latencyTest.h:159
MAKRti::DtTime initiatorReceiveInteraction
Definition: latencyTest.h:82
float averageRecipientTickPeriod
Definition: latencyTest.h:68
DtAsynchronousIOModeEnum
0 == no Async IO 1 == Asynchronous IO, (same as old parameter RTI_asynchronousIO ) 2 == Asynchronous ...
Definition: RIDparams.h:111
This class manages the RTI&#39;s start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
This file contains the declaration of the DtRtiMetadata class which provides a framework for subclass...
MAKRti::DtTime recipientNetSend
Definition: latencyTest.h:79
MAKRti::DtTime recipientNetRead
Definition: latencyTest.h:75
DtRIDParameters::DtAsynchronousIOModeEnum recipientAsyncMode
Definition: latencyTest.h:65
MAKRti::DtTime initiatorNetRead
Definition: latencyTest.h:80
std::map< unsigned int, MAKRti::DtTransportType > myTransportByTestID
Definition: latencyTest.h:170
MAKRti::DtString recipientName
Definition: latencyTest.h:83
MAKRti::DtTime initiatorSendInteraction
Definition: latencyTest.h:73
std::multimap< DtFederateHandle, unsigned int > DtFedHandleToTestMap
Definition: latencyTest.h:163
MAKRti::DtTime initiatorNetSend
Definition: latencyTest.h:74
Struct contains all report-worth details of a test.
Definition: latencyTest.h:41
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtTestToTimeStampMap myTestsInProgressTimeStamps
TimeStamp storage (by testID) of all my known tests.
Definition: latencyTest.h:168
std::map< unsigned int, DtTimeStampMap > DtTestToTimeStampMap
Definition: latencyTest.h:162
unsigned int sizeOfPayload
Definition: latencyTest.h:69
bool numbersAreReliable
Definition: latencyTest.h:71
DtLatencyTest runs network latency tests between local RTI components.
Definition: latencyTest.h:35
DtLatencyTestReportStruct()
Definition: latencyTest.h:43
DtRIDParameters::DtAsynchronousIOModeEnum initiatorAsyncMode
Definition: latencyTest.h:66
unsigned int testID
Definition: latencyTest.h:64
This file contains the rti1516e::RTIambassador class.
MAKRti::DtTime recipientSendInteraction
Definition: latencyTest.h:78
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
std::multimap< DtMetadataType, MAKRti::DtTime > DtTimeStampMap
Definition: latencyTest.h:161
DtTestManager runs network connectivity tests between local RTI components.
Definition: testManager.h:50
float averageInitiatorTickPeriod
Definition: latencyTest.h:67
MAKRti::DtTime recipReceiveInteraction
Definition: latencyTest.h:77
MAKRti::DtTime initiatorQueueMsg
Definition: latencyTest.h:81

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)