MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
latencyTestMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2009 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: latencyTestMgr.h,v $ $Revision: 1.4 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef latencyTestMgr_H_
10 #define latencyTestMgr_H_
11 
14 
15 #include "rtiMsConfig.h"
16 #include "assistantMgr.h"
17 #include "componentMgr.h"
18 #include "assistantInfo.h"
19 
21 class DtRtiAssistantPeer;
31 
35 {
36  Q_OBJECT
37 
38 public:
39 
41  DtAssistantLatencyTestMgr( std::shared_ptr<DtRtiAssistantServer> server,
42  std::shared_ptr<DtRtiAssistantPeer> peer,
43  DtAssistantSignalRouter& signalRouter,
44  std::shared_ptr<DtAssistantComponentMgr> compMgr,
45  std::shared_ptr<DtAssistantConnectionInfoMgr> connInfoMgr,
46  std::shared_ptr<DtAssistantFederationsInfoMgr> fedInfoMgr );
47 
49  virtual ~DtAssistantLatencyTestMgr();
50 
51 private:
52 
55 
58 
59 protected:
60 
63 
64 
66  static void processLatencyTestResults( const DtAssistantLatencyReportMsg& msg, void* usr );
67 
69  virtual void processLatencyTestResults(const DtAssistantLatencyReportMsg& msg);
70 
72  static void processTestMgrStatusUpdate( const DtAssistantTestMgrStatusMsg& msg, void* usr );
73 
76  virtual void processTestMgrStatusUpdate( const DtAssistantTestMgrStatusMsg& msg );
77 
79  static void processTestCommand( const DtAssistantChangeLatencyTestModeMsg& msg, void* usr );
80 
82  virtual void processTestCommand( const DtAssistantChangeLatencyTestModeMsg& msg );
83 
85 
87  bool getRtiexecConn( const DtAssistantMsg& msg, DtRtiConnectionInfoDataPair& exec );
88 
90  bool sendLatencyTestCommand( bool runTest, bool continuous, bool shouldHalt,
91  bool observing );
92 
94  bool verifyNewTestCanBeRun();
95 
96 signals:
97 
99  void updateLatencyTestInteractionPeriod( unsigned int );
100 
102  void updateLatencyTestNumInteractions( unsigned int );
103 
105  void updateLatencyTestPayloadBytes( unsigned int );
106 
108  void disableComponentLatencyTest( int );
109 
111  void enableComponentLatencyTest( int );
112 
113 public slots:
114 
117  void processConnectionsUpdate( const DtRtiConnectionAndConfiguration& conns );
118 
120  void processConnectionsRemoval( const DtRtiConnectionAndConfiguration& conns );
121 
123  void showLrcLatencyTestDialog( int id );
124 
126  void showRtiexecLatencyTestDialog( const DtRtiConnectionInfoDataPair&,
127  unsigned int federationHdl, const MAKRti::DtString& federationName,
128  unsigned int federateHdl);
129 
132  void processLatencyTestObserve();
133 
135  void processLatencyTestDismiss();
136 
138  void initiateLatencyTest();
139 
141  void initiateContinuousLatencyTest();
142 
145  void haltContinuousLatencyTest();
146 
148  void renameComponent( const DtAssistantComponentInfo* );
149 
151  void removeLrcComponent( const DtAssistantComponentInfo* );
152 
154  void updateFederateTestStatus( const DtRtiConnectionInfo& conn,
155  const MAKRti::DtString& federationName, unsigned federateHandle );
156 
158  void updateLatencyTestConfig( unsigned int interactionPeriod,
159  unsigned int numInteractions, unsigned int payloadBytes );
160 
161  // Updates the period between latency test interactions
162  void setLatencyTestInteractionPeriod( unsigned int );
163 
164  // Updates the number of interactions per latency test
165  void setLatencyTestNumInteractions( unsigned int );
166 
167  // Updates the size of a latency test interaction payload in bytes
168  void setLatencyTestPayloadBytes( unsigned int );
169 
170 protected:
171 
173  std::shared_ptr<DtAssistantComponentMgr> myCompMgr;
174 
176  std::shared_ptr<DtAssistantConnectionInfoMgr> myConnInfoMgr;
177 
179  std::shared_ptr<DtAssistantFederationsInfoMgr> myFedInfoMgr;
180 
183 
184  typedef std::map< DtRtiConnectionInfo, DtAssistantInfoSet > DtRtiexecToObserversMap;
188 
192 
196 
200 
203  unsigned int myFederationHdl;
204 
207  MAKRti::DtString myFederationName;
208 
211  unsigned int myInitFederateHdl;
212 
214  unsigned int myInteractionPeriod;
216  unsigned int myNumInteractions;
217  unsigned int myPayloadBytes;
219 
220 };
221 
222 #endif
The DtAssistantTestMgrStatusMsg defines a msg for a client to report the results of a latency test...
Definition: assistantTestMgrStatusMsg.h:37
This file contains the declaration of DtAssistantInfo.
DtRtiexecToObserversMap myRemotelyObservedRtiexecs
List of local rtiexecs and the remote assistants who are observing tests that they are coordinating...
Definition: latencyTestMgr.h:187
DtRtiConnectionInfo myRtiexecConn
Connection parameters of the rtiexec through which the test is being run (only used if myIsForRtiexec...
Definition: latencyTestMgr.h:199
std::shared_ptr< DtAssistantFederationsInfoMgr > myFedInfoMgr
The manager that keeps track of all known federations.
Definition: latencyTestMgr.h:179
At startup all of the assistant manager classes will register their signals and slots with the signal...
Definition: assistantSignalRouter.h:29
std::pair< DtRtiConnectionInfo, DtRtiAssociatedConnectionData > DtRtiConnectionInfoDataPair
Pair of connection with associated data.
Definition: assistantConnectionInfo.h:29
unsigned int myInitFederateHdl
The initiating federate of this test (only used if myIsForRtiexec == true)
Definition: latencyTestMgr.h:211
Base class for assistant Messages.
Definition: assistantMsg.h:153
Stores information on any RTI components.
Definition: compInfo.h:25
Base class for all classes which perform management activities for the Assistant. ...
Definition: assistantMgr.h:31
This file contains the declaration of DtAssistantMgr.
DtAveragedLatencyTestReport encodes and decodes reports from tests between local RTI components...
Definition: averagedLatencyTestReport.h:48
DtRtiAssistantPeer manages the sharing of information between one Assistant to other Assistants using...
Definition: rtiAssistantPeer.h:82
Maintains lists of known RTI connections.
Definition: connInfoMgr.h:49
Manages the server connections of the RTI Assistant.
Definition: rtiAssistantServer.h:45
Compiles federation information from rtiexecs and LRCs.
Definition: federationsInfoMgr.h:50
std::shared_ptr< DtAssistantConnectionInfoMgr > myConnInfoMgr
The manager that keeps track of all known RTI connections.
Definition: latencyTestMgr.h:176
The DtAssistantChangeLatencyTestModeMsg defines a wrapper for the RTI Assistant initiate latency test...
Definition: assistantChangeLatencyTestModeMsg.h:36
DtAssistantMgr & operator=(DtAssistantMgr const &)
Assignment not implemented – Assignment Not Allowed!
The DtAssistantLatencyReportMsg defines a msg for a client to report the results of a latency test...
Definition: assistantLatencyReportMsg.h:33
MAKRti::DtString myFederationName
The federation name of this test (only used if myIsForRtiexec == true)
Definition: latencyTestMgr.h:207
DtLatencyTestDialog * myLatencyTestDialog
The latency test dialogs.
Definition: latencyTestMgr.h:182
std::shared_ptr< DtAssistantComponentMgr > myCompMgr
The manager that keeps track of all local RTI components.
Definition: latencyTestMgr.h:173
unsigned int myFederationHdl
The federation handle of this test (only used if myIsForRtiexec == true)
Definition: latencyTestMgr.h:203
Dialog which displays the results of network latency testing for a particular initiating federate...
Definition: latencyTestDialog.h:24
#define DT_DLL_ASSISTANTAPP
Definition: rtiMsConfig.h:151
Stores the information on an RTI connection and possibly matching configuration known by the Assistan...
Definition: connectionAndConfiguration.h:22
int myLrcCompId
The local component ID of the LRC initiating the test (only used if myTestViaRtiexec == false) ...
Definition: latencyTestMgr.h:195
std::map< DtRtiConnectionInfo, DtAssistantInfoSet > DtRtiexecToObserversMap
Definition: latencyTestMgr.h:184
unsigned int myNumInteractions
Latency test parameters.
Definition: latencyTestMgr.h:216
Handles activities related to running latency tests and reporting results.
Definition: latencyTestMgr.h:34
Stores the information on an RTI connection known by the Assistant.
Definition: assistantConnectionInfo.h:36
bool myTestViaRtiexec
Indicates whether the currently displayed latency test is for a test being conducted through an rtiex...
Definition: latencyTestMgr.h:191
unsigned int myPayloadBytes
Latency test parameters.
Definition: latencyTestMgr.h:217

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)