MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
netStatsFedAmb1516e.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #ifndef netStatsFedAmb1516e_h__
6 #define netStatsFedAmb1516e_h__
7 
8 #ifdef DtIFSPEC1516E
9 
10 #include "rtiMsConfig.h"
11 #include "fedAmbWrap1516e.h"
12 #include <vlutil/vlTime.h>
13 #include "fedMgr.h"
14 #include <rtiutil/fedAmbAPITypes.h>
15 
16 // Forward References
17 class DtNetStatsMonitor;
18 
19 class DtNetStatsFedAmbWrapper : public DtFedAmbWrapper
20 {
21 public:
22  DtNetStatsFedAmbWrapper(DtFederateMgr* mgr, DtTime start);
23 
24  virtual ~DtNetStatsFedAmbWrapper()
25  throw ();
26 
27  bool subscriptionsChanged();
28 
29  // Set the handle to the Network Traffic Monitor
30  virtual void setTrafficMonitor( DtNetStatsMonitor* stats );
31 
32  virtual bool netStatsEnabled() const;
33  virtual void setNetStatsEnabled(bool shouldEnable);
34 
35  // Initializes the high performance timer (must be paired with endTimerAndRecord)
36  virtual void startTimer();
37 
38  // Records the service and the elapsed time (must be paired with startTimer)
39  virtual void endTimerAndRecord(DtFedAmbAPIType fedAmbType);
40 
41 
42 protected:
43 
44  MAKRti::DtTime myStartTime;
45  MAKRti::DtClock myClock;
46  DtFederateMgr* myMgr;
47  bool mySubscriptionsChanged;
48 
49  // Statistics Log
50  DtNetStatsMonitor* myNetStats;
51 
52  // API Call Timer
53  MAKRti::DtClock myTimer;
54 
55  // Enable/Disable flag for network statistics
56  bool myNetStatsEnabled;
57 
58 public:
59  // 4.4
60  virtual void connectionLost (
61  std::wstring const & faultDescription)
62  throw (
63  rti1516e::FederateInternalError);
64 
65  // 4.8
66  virtual void reportFederationExecutions (
67  rti1516e::FederationExecutionInformationVector const & theFederationExecutionInformationList)
68  throw (
69  rti1516e::FederateInternalError);
70 
71  // 4.12
73  std::wstring const & label)
74  throw (
75  rti1516e::FederateInternalError);
76 
78  std::wstring const & label,
79  rti1516e::SynchronizationPointFailureReason reason)
80  throw (
81  rti1516e::FederateInternalError);
82 
83  // 4.13
84  virtual void announceSynchronizationPoint (
85  std::wstring const & label,
86  rti1516e::VariableLengthData const & theUserSuppliedTag)
87  throw (
88  rti1516e::FederateInternalError);
89 
90  // 4.15
91  virtual void federationSynchronized (
92  std::wstring const & label,
93  rti1516e::FederateHandleSet const& failedToSyncSet)
94  throw (
95  rti1516e::FederateInternalError);
96 
97  // 4.17
98  virtual void initiateFederateSave (
99  std::wstring const & label)
100  throw (
101  rti1516e::FederateInternalError);
102 
103  virtual void initiateFederateSave (
104  std::wstring const & label,
105  rti1516e::LogicalTime const & theTime)
106  throw (
107  rti1516e::FederateInternalError);
108 
109  // 4.20
110  virtual void federationSaved ()
111  throw (
112  rti1516e::FederateInternalError);
113 
114  virtual void federationNotSaved (
115  rti1516e::SaveFailureReason theSaveFailureReason)
116  throw (
117  rti1516e::FederateInternalError);
118 
119 
120  // 4.23
121  virtual void federationSaveStatusResponse (
122  rti1516e::FederateHandleSaveStatusPairVector const & theFederateStatusVector)
123  throw (
124  rti1516e::FederateInternalError);
125 
126  // 4.25
127  virtual void requestFederationRestoreSucceeded (
128  std::wstring const & label)
129  throw (
130  rti1516e::FederateInternalError);
131 
132  virtual void requestFederationRestoreFailed (
133  std::wstring const & label)
134  throw (
135  rti1516e::FederateInternalError);
136 
137  // 4.26
138  virtual void federationRestoreBegun ()
139  throw (
140  rti1516e::FederateInternalError);
141 
142  // 4.27
143  virtual void initiateFederateRestore (
144  std::wstring const & label,
145  std::wstring const & federateName,
146  rti1516e::FederateHandle handle)
147  throw (
148  rti1516e::FederateInternalError);
149 
150  // 4.29
151  virtual void federationRestored ()
152  throw (
153  rti1516e::FederateInternalError);
154 
155  virtual void federationNotRestored (
156  rti1516e::RestoreFailureReason theRestoreFailureReason)
157  throw (
158  rti1516e::FederateInternalError);
159 
160  // 4.32
161  virtual void federationRestoreStatusResponse (
162  rti1516e::FederateRestoreStatusVector const & theFederateRestoreStatusVector)
163  throw (
164  rti1516e::FederateInternalError);
165 
167  // Declaration Management Services //
169 
170  // 5.10
171  virtual void startRegistrationForObjectClass (
172  rti1516e::ObjectClassHandle theClass)
173  throw (
174  rti1516e::FederateInternalError);
175 
176  // 5.11
177  virtual void stopRegistrationForObjectClass (
178  rti1516e::ObjectClassHandle theClass)
179  throw (
180  rti1516e::FederateInternalError);
181 
182  // 5.12
183  virtual void turnInteractionsOn (
184  rti1516e::InteractionClassHandle theHandle)
185  throw (
186  rti1516e::FederateInternalError);
187 
188  // 5.13
189  virtual void turnInteractionsOff (
190  rti1516e::InteractionClassHandle theHandle)
191  throw (
192  rti1516e::FederateInternalError);
193 
195  // Object Management Services //
197 
198  // 6.3
199  virtual void objectInstanceNameReservationSucceeded (
200  std::wstring const & theObjectInstanceName)
201  throw (
202  rti1516e::FederateInternalError);
203 
204  virtual void objectInstanceNameReservationFailed (
205  std::wstring const & theObjectInstanceName)
206  throw (
207  rti1516e::FederateInternalError);
208 
209  // 6.6
210  virtual void multipleObjectInstanceNameReservationSucceeded (
211  std::set<std::wstring> const & theObjectInstanceNames)
212  throw (
213  rti1516e::FederateInternalError);
214 
215  virtual void multipleObjectInstanceNameReservationFailed (
216  std::set<std::wstring> const & theObjectInstanceNames)
217  throw (
218  rti1516e::FederateInternalError);
219 
220  // 6.9
221  virtual void discoverObjectInstance (
222  rti1516e::ObjectInstanceHandle theObject,
223  rti1516e::ObjectClassHandle theObjectClass,
224  std::wstring const & theObjectInstanceName)
225  throw (
226  rti1516e::FederateInternalError);
227 
228  virtual void discoverObjectInstance (
229  rti1516e::ObjectInstanceHandle theObject,
230  rti1516e::ObjectClassHandle theObjectClass,
231  std::wstring const & theObjectInstanceName,
232  rti1516e::FederateHandle producingFederate)
233  throw (
234  rti1516e::FederateInternalError);
235 
236  // 6.11
237  virtual void reflectAttributeValues (
238  rti1516e::ObjectInstanceHandle theObject,
239  rti1516e::AttributeHandleValueMap const & theAttributeValues,
240  rti1516e::VariableLengthData const & theUserSuppliedTag,
241  rti1516e::OrderType sentOrder,
242  rti1516e::TransportationType theType,
243  rti1516e::SupplementalReflectInfo theReflectInfo)
244  throw (
245  rti1516e::FederateInternalError);
246 
247  virtual void reflectAttributeValues (
248  rti1516e::ObjectInstanceHandle theObject,
249  rti1516e::AttributeHandleValueMap const & theAttributeValues,
250  rti1516e::VariableLengthData const & theUserSuppliedTag,
251  rti1516e::OrderType sentOrder,
252  rti1516e::TransportationType theType,
253  rti1516e::LogicalTime const & theTime,
254  rti1516e::OrderType receivedOrder,
255  rti1516e::SupplementalReflectInfo theReflectInfo)
256  throw (
257  rti1516e::FederateInternalError);
258 
259  virtual void reflectAttributeValues (
260  rti1516e::ObjectInstanceHandle theObject,
261  rti1516e::AttributeHandleValueMap const & theAttributeValues,
262  rti1516e::VariableLengthData const & theUserSuppliedTag,
263  rti1516e::OrderType sentOrder,
264  rti1516e::TransportationType theType,
265  rti1516e::LogicalTime const & theTime,
266  rti1516e::OrderType receivedOrder,
267  rti1516e::MessageRetractionHandle theHandle,
268  rti1516e::SupplementalReflectInfo theReflectInfo)
269  throw (
270  rti1516e::FederateInternalError);
271 
272  // Simple event processing ignores additional reflect parameters
273  virtual void processReflectAttributeValues(rti1516e::ObjectInstanceHandle theObject);
274 
275  // 6.13
276  virtual void receiveInteraction (
277  rti1516e::InteractionClassHandle theInteraction,
278  rti1516e::ParameterHandleValueMap const & theParameterValues,
279  rti1516e::VariableLengthData const & theUserSuppliedTag,
280  rti1516e::OrderType sentOrder,
281  rti1516e::TransportationType theType,
282  rti1516e::SupplementalReceiveInfo theReceiveInfo)
283  throw (
284  rti1516e::FederateInternalError);
285 
286  virtual void receiveInteraction (
287  rti1516e::InteractionClassHandle theInteraction,
288  rti1516e::ParameterHandleValueMap const & theParameterValues,
289  rti1516e::VariableLengthData const & theUserSuppliedTag,
290  rti1516e::OrderType sentOrder,
291  rti1516e::TransportationType theType,
292  rti1516e::LogicalTime const & theTime,
293  rti1516e::OrderType receivedOrder,
294  rti1516e::SupplementalReceiveInfo theReceiveInfo)
295  throw (
296  rti1516e::FederateInternalError);
297 
298  virtual void receiveInteraction (
299  rti1516e::InteractionClassHandle theInteraction,
300  rti1516e::ParameterHandleValueMap const & theParameterValues,
301  rti1516e::VariableLengthData const & theUserSuppliedTag,
302  rti1516e::OrderType sentOrder,
303  rti1516e::TransportationType theType,
304  rti1516e::LogicalTime const & theTime,
305  rti1516e::OrderType receivedOrder,
306  rti1516e::MessageRetractionHandle theHandle,
307  rti1516e::SupplementalReceiveInfo theReceiveInfo)
308  throw (
309  rti1516e::FederateInternalError);
310 
311  // Simple event processing ignores additional receive parameters
312  virtual void processReceiveInteraction(rti1516e::InteractionClassHandle theInteraction);
313 
314  // 6.15
315  virtual void removeObjectInstance (
316  rti1516e::ObjectInstanceHandle theObject,
317  rti1516e::VariableLengthData const & theUserSuppliedTag,
318  rti1516e::OrderType sentOrder,
319  rti1516e::SupplementalRemoveInfo theRemoveInfo)
320  throw (
321  rti1516e::FederateInternalError);
322 
323  virtual void removeObjectInstance (
324  rti1516e::ObjectInstanceHandle theObject,
325  rti1516e::VariableLengthData const & theUserSuppliedTag,
326  rti1516e::OrderType sentOrder,
327  rti1516e::LogicalTime const & theTime,
328  rti1516e::OrderType receivedOrder,
329  rti1516e::SupplementalRemoveInfo theRemoveInfo)
330  throw (
331  rti1516e::FederateInternalError);
332 
333  virtual void removeObjectInstance (
334  rti1516e::ObjectInstanceHandle theObject,
335  rti1516e::VariableLengthData const & theUserSuppliedTag,
336  rti1516e::OrderType sentOrder,
337  rti1516e::LogicalTime const & theTime,
338  rti1516e::OrderType receivedOrder,
339  rti1516e::MessageRetractionHandle theHandle,
340  rti1516e::SupplementalRemoveInfo theRemoveInfo)
341  throw (
342  rti1516e::FederateInternalError);
343 
344  // Simple event processing ignores additional remove parameters
345  virtual void processRemoveObjectInstance(rti1516e::ObjectInstanceHandle theObject);
346 
347  // 6.17
348  virtual void attributesInScope (
349  rti1516e::ObjectInstanceHandle theObject,
350  rti1516e::AttributeHandleSet const & theAttributes)
351  throw (
352  rti1516e::FederateInternalError);
353 
354  // 6.18
355  virtual void attributesOutOfScope (
356  rti1516e::ObjectInstanceHandle theObject,
357  rti1516e::AttributeHandleSet const & theAttributes)
358  throw (
359  rti1516e::FederateInternalError);
360 
361  // 6.20
362  virtual void provideAttributeValueUpdate (
363  rti1516e::ObjectInstanceHandle theObject,
364  rti1516e::AttributeHandleSet const & theAttributes,
365  rti1516e::VariableLengthData const & theUserSuppliedTag)
366  throw (
367  rti1516e::FederateInternalError);
368 
369  // 6.21
370  virtual void turnUpdatesOnForObjectInstance (
371  rti1516e::ObjectInstanceHandle theObject,
372  rti1516e::AttributeHandleSet const & theAttributes)
373  throw (
374  rti1516e::FederateInternalError);
375 
376  virtual void turnUpdatesOnForObjectInstance (
377  rti1516e::ObjectInstanceHandle theObject,
378  rti1516e::AttributeHandleSet const & theAttributes,
379  std::wstring const & updateRateDesignator)
380  throw (
381  rti1516e::FederateInternalError);
382 
383  // 6.22
384  virtual void turnUpdatesOffForObjectInstance (
385  rti1516e::ObjectInstanceHandle theObject,
386  rti1516e::AttributeHandleSet const & theAttributes)
387  throw (
388  rti1516e::FederateInternalError);
389 
390  // 6.24
391  virtual void confirmAttributeTransportationTypeChange (
392  rti1516e::ObjectInstanceHandle theObject,
393  rti1516e::AttributeHandleSet theAttributes,
394  rti1516e::TransportationType theTransportation)
395  throw (
396  rti1516e::FederateInternalError);
397 
398  // 6.26
399  virtual void reportAttributeTransportationType (
400  rti1516e::ObjectInstanceHandle theObject,
401  rti1516e::AttributeHandle theAttribute,
402  rti1516e::TransportationType theTransportation)
403  throw (
404  rti1516e::FederateInternalError);
405 
406  // 6.28
407  virtual void confirmInteractionTransportationTypeChange (
408  rti1516e::InteractionClassHandle theInteraction,
409  rti1516e::TransportationType theTransportation)
410  throw (
411  rti1516e::FederateInternalError);
412 
413  // 6.30
414  virtual void reportInteractionTransportationType (
415  rti1516e::FederateHandle federateHandle,
416  rti1516e::InteractionClassHandle theInteraction,
417  rti1516e::TransportationType theTransportation)
418  throw (
419  rti1516e::FederateInternalError);
420 
421 
423  // Ownership Management Services //
425 
426  // 7.4
428  rti1516e::ObjectInstanceHandle theObject,
429  rti1516e::AttributeHandleSet const & offeredAttributes,
430  rti1516e::VariableLengthData const & theUserSuppliedTag)
431  throw (
432  rti1516e::FederateInternalError);
433 
434  // 7.5
435  virtual void requestDivestitureConfirmation (
436  rti1516e::ObjectInstanceHandle theObject,
437  rti1516e::AttributeHandleSet const & releasedAttributes)
438  throw (
439  rti1516e::FederateInternalError);
440 
441  // 7.7
443  rti1516e::ObjectInstanceHandle theObject,
444  rti1516e::AttributeHandleSet const & securedAttributes,
445  rti1516e::VariableLengthData const & theUserSuppliedTag)
446  throw (
447  rti1516e::FederateInternalError);
448 
449  // 7.10
450  virtual void attributeOwnershipUnavailable (
451  rti1516e::ObjectInstanceHandle theObject,
452  rti1516e::AttributeHandleSet const & theAttributes)
453  throw (
454  rti1516e::FederateInternalError);
455 
456  // 7.11
457  virtual void requestAttributeOwnershipRelease (
458  rti1516e::ObjectInstanceHandle theObject,
459  rti1516e::AttributeHandleSet const & candidateAttributes,
460  rti1516e::VariableLengthData const & theUserSuppliedTag)
461  throw (
462  rti1516e::FederateInternalError);
463 
464  // 7.16
466  rti1516e::ObjectInstanceHandle theObject,
467  rti1516e::AttributeHandleSet const & theAttributes)
468  throw (
469  rti1516e::FederateInternalError);
470 
471  // 7.18
472  virtual void informAttributeOwnership (
473  rti1516e::ObjectInstanceHandle theObject,
474  rti1516e::AttributeHandle theAttribute,
475  rti1516e::FederateHandle theOwner)
476  throw (
477  rti1516e::FederateInternalError);
478 
479  virtual void attributeIsNotOwned (
480  rti1516e::ObjectInstanceHandle theObject,
481  rti1516e::AttributeHandle theAttribute)
482  throw (
483  rti1516e::FederateInternalError);
484 
485  virtual void attributeIsOwnedByRTI (
486  rti1516e::ObjectInstanceHandle theObject,
487  rti1516e::AttributeHandle theAttribute)
488  throw (
489  rti1516e::FederateInternalError);
490 
492  // Time Management Services //
494 
495  // 8.3
496  virtual void timeRegulationEnabled (
497  rti1516e::LogicalTime const & theFederateTime)
498  throw (
499  rti1516e::FederateInternalError);
500 
501  // 8.6
502  virtual void timeConstrainedEnabled (
503  rti1516e::LogicalTime const & theFederateTime)
504  throw (
505  rti1516e::FederateInternalError);
506 
507  // 8.13
508  virtual void timeAdvanceGrant (
509  rti1516e::LogicalTime const & theTime)
510  throw (
511  rti1516e::FederateInternalError);
512 
513  // 8.22
514  virtual void requestRetraction (
515  rti1516e::MessageRetractionHandle theHandle)
516  throw (
517  rti1516e::FederateInternalError);
518 
519  private:
520  static const DtString theUnknownName;
521 };
522 #endif // DtIFSPEC1516E
523 #endif // netStatsFedAmb1516e_h__
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:29
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
std::vector< FederationExecutionInformation > FederationExecutionInformationVector
Definition: Typedefs.h:112
OrderType
Definition: datatypes.pb.h:472
virtual void attributesOutOfScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.14
std::vector< FederateRestoreStatus > FederateRestoreStatusVector
Definition: Typedefs.h:95
virtual void informAttributeOwnership(ObjectHandle theObject, AttributeHandle theAttribute, FederateHandle theOwner)=0
7.16
virtual void initiateFederateRestore(const char *label, FederateHandle handle)=0
4.19
virtual void confirmAttributeOwnershipAcquisitionCancellation(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.14
virtual void startRegistrationForObjectClass(ObjectClassHandle theClass)=0
! Declaration Management Services //!
DtFedAmbAPIType
Definition: fedAmbAPITypes.h:12
virtual void requestRetraction(EventRetractionHandle theHandle)=0
8.22
Definition: netStatsMonitor.h:33
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
TransportationType
Definition: rtiAmbassadorFedProBase.h:43
virtual void federationNotRestored()=0
virtual void attributesInScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.13
virtual void attributeOwnershipUnavailable(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.9
RestoreFailureReason
Definition: datatypes.pb.h:388
virtual void receiveInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.7
virtual void removeObjectInstance(ObjectHandle theObject, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.9
virtual void synchronizationPointRegistrationSucceeded(const char *label)=0
RTI Parameter Passing Memory Conventions.
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:93
virtual void initiateFederateSave(const char *label)=0
4.12
virtual void timeAdvanceGrant(const FedTime &theTime)=0
8.13
virtual void announceSynchronizationPoint(const char *label, const char *tag)=0
4.8
virtual void requestFederationRestoreFailed(const char *label, const char *reason)=0
supplied C4
virtual void federationNotSaved()=0
virtual void federationSynchronized(const char *label)=0
4.10
SaveFailureReason
Definition: datatypes.pb.h:359
virtual void discoverObjectInstance(ObjectHandle theObject, ObjectClassHandle theObjectClass, const char *theObjectName)=0
! Object Management Services //!
virtual void requestFederationRestoreSucceeded(const char *label)=0
4.17
virtual void attributeOwnershipAcquisitionNotification(ObjectHandle theObject, const AttributeHandleSet &securedAttributes)=0
7.6
virtual void reflectAttributeValues(ObjectHandle theObject, const AttributeHandleValuePairSet &theAttributes, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.5
virtual void turnInteractionsOff(InteractionClassHandle theHandle)=0
5.13
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:39
virtual void federationRestored()=0
4.21
virtual void provideAttributeValueUpdate(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.16
virtual void turnUpdatesOffForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.18
virtual void requestAttributeOwnershipAssumption(ObjectHandle theObject, const AttributeHandleSet &offeredAttributes, const char *theTag)=0
! Ownership Management Services //!
virtual void turnUpdatesOnForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.17
std::vector< FederateHandleSaveStatusPair > FederateHandleSaveStatusPairVector
Definition: Typedefs.h:60
virtual void stopRegistrationForObjectClass(ObjectClassHandle theClass)=0
5.11
virtual void attributeIsNotOwned(ObjectHandle theObject, AttributeHandle theAttribute)=0
supplied C1
virtual void federationRestoreBegun()=0
4.18
virtual void federationSaved()=0
4.15
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:44
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
This file contains the declaration of the base federation manager.
SynchronizationPointFailureReason
Definition: datatypes.pb.h:334
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:32

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)