MAK RTIspy API Documentation for HLA 1.3
 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  FederateInternalError);
64 
65  // 4.8
66  virtual void reportFederationExecutions (
67  FederationExecutionInformationVector const &
68  theFederationExecutionInformationList)
69  throw (
70  FederateInternalError);
71 
72  // 4.12
74  std::wstring const & label)
75  throw (
76  FederateInternalError);
77 
79  std::wstring const & label,
80  SynchronizationPointFailureReason reason)
81  throw (
82  FederateInternalError);
83 
84  // 4.13
85  virtual void announceSynchronizationPoint (
86  std::wstring const & label,
87  VariableLengthData const & theUserSuppliedTag)
88  throw (
89  FederateInternalError);
90 
91  // 4.15
92  virtual void federationSynchronized (
93  std::wstring const & label,
94  FederateHandleSet const& failedToSyncSet)
95  throw (
96  FederateInternalError);
97 
98  // 4.17
99  virtual void initiateFederateSave (
100  std::wstring const & label)
101  throw (
102  FederateInternalError);
103 
104  virtual void initiateFederateSave (
105  std::wstring const & label,
106  LogicalTime const & theTime)
107  throw (
108  FederateInternalError);
109 
110  // 4.20
111  virtual void federationSaved ()
112  throw (
113  FederateInternalError);
114 
115  virtual void federationNotSaved (
116  SaveFailureReason theSaveFailureReason)
117  throw (
118  FederateInternalError);
119 
120 
121  // 4.23
122  virtual void federationSaveStatusResponse (
123  FederateHandleSaveStatusPairVector const &
124  theFederateStatusVector)
125  throw (
126  FederateInternalError);
127 
128  // 4.25
129  virtual void requestFederationRestoreSucceeded (
130  std::wstring const & label)
131  throw (
132  FederateInternalError);
133 
134  virtual void requestFederationRestoreFailed (
135  std::wstring const & label)
136  throw (
137  FederateInternalError);
138 
139  // 4.26
140  virtual void federationRestoreBegun ()
141  throw (
142  FederateInternalError);
143 
144  // 4.27
145  virtual void initiateFederateRestore (
146  std::wstring const & label,
147  std::wstring const & federateName,
148  FederateHandle handle)
149  throw (
150  FederateInternalError);
151 
152  // 4.29
153  virtual void federationRestored ()
154  throw (
155  FederateInternalError);
156 
157  virtual void federationNotRestored (
158  RestoreFailureReason theRestoreFailureReason)
159  throw (
160  FederateInternalError);
161 
162  // 4.32
163  virtual void federationRestoreStatusResponse (
164  FederateRestoreStatusVector const &
165  theFederateRestoreStatusVector)
166  throw (
167  FederateInternalError);
168 
170  // Declaration Management Services //
172 
173  // 5.10
174  virtual void startRegistrationForObjectClass (
175  ObjectClassHandle theClass)
176  throw (
177  FederateInternalError);
178 
179  // 5.11
180  virtual void stopRegistrationForObjectClass (
181  ObjectClassHandle theClass)
182  throw (
183  FederateInternalError);
184 
185  // 5.12
186  virtual void turnInteractionsOn (
187  InteractionClassHandle theHandle)
188  throw (
189  FederateInternalError);
190 
191  // 5.13
192  virtual void turnInteractionsOff (
193  InteractionClassHandle theHandle)
194  throw (
195  FederateInternalError);
196 
198  // Object Management Services //
200 
201  // 6.3
202  virtual void objectInstanceNameReservationSucceeded (
203  std::wstring const & theObjectInstanceName)
204  throw (
205  FederateInternalError);
206 
207  virtual void objectInstanceNameReservationFailed (
208  std::wstring const & theObjectInstanceName)
209  throw (
210  FederateInternalError);
211 
212  // 6.6
213  virtual void multipleObjectInstanceNameReservationSucceeded (
214  std::set<std::wstring> const & theObjectInstanceNames)
215  throw (
216  FederateInternalError);
217 
218  virtual void multipleObjectInstanceNameReservationFailed (
219  std::set<std::wstring> const & theObjectInstanceNames)
220  throw (
221  FederateInternalError);
222 
223  // 6.9
224  virtual void discoverObjectInstance (
225  ObjectInstanceHandle theObject,
226  ObjectClassHandle theObjectClass,
227  std::wstring const & theObjectInstanceName)
228  throw (
229  FederateInternalError);
230 
231  virtual void discoverObjectInstance (
232  ObjectInstanceHandle theObject,
233  ObjectClassHandle theObjectClass,
234  std::wstring const & theObjectInstanceName,
235  FederateHandle producingFederate)
236  throw (
237  FederateInternalError);
238 
239  // 6.11
240  virtual void reflectAttributeValues (
241  ObjectInstanceHandle theObject,
242  AttributeHandleValueMap const & theAttributeValues,
243  VariableLengthData const & theUserSuppliedTag,
244  OrderType sentOrder,
245  TransportationType theType,
246  SupplementalReflectInfo theReflectInfo)
247  throw (
248  FederateInternalError);
249 
250  virtual void reflectAttributeValues (
251  ObjectInstanceHandle theObject,
252  AttributeHandleValueMap const & theAttributeValues,
253  VariableLengthData const & theUserSuppliedTag,
254  OrderType sentOrder,
255  TransportationType theType,
256  LogicalTime const & theTime,
257  OrderType receivedOrder,
258  SupplementalReflectInfo theReflectInfo)
259  throw (
260  FederateInternalError);
261 
262  virtual void reflectAttributeValues (
263  ObjectInstanceHandle theObject,
264  AttributeHandleValueMap const & theAttributeValues,
265  VariableLengthData const & theUserSuppliedTag,
266  OrderType sentOrder,
267  TransportationType theType,
268  LogicalTime const & theTime,
269  OrderType receivedOrder,
270  MessageRetractionHandle theHandle,
271  SupplementalReflectInfo theReflectInfo)
272  throw (
273  FederateInternalError);
274 
275  // Simple event processing ignores additional reflect parameters
276  virtual void processReflectAttributeValues(rti1516e::ObjectInstanceHandle theObject);
277 
278  // 6.13
279  virtual void receiveInteraction (
280  InteractionClassHandle theInteraction,
281  ParameterHandleValueMap const & theParameterValues,
282  VariableLengthData const & theUserSuppliedTag,
283  OrderType sentOrder,
284  TransportationType theType,
285  SupplementalReceiveInfo theReceiveInfo)
286  throw (
287  FederateInternalError);
288 
289  virtual void receiveInteraction (
290  InteractionClassHandle theInteraction,
291  ParameterHandleValueMap const & theParameterValues,
292  VariableLengthData const & theUserSuppliedTag,
293  OrderType sentOrder,
294  TransportationType theType,
295  LogicalTime const & theTime,
296  OrderType receivedOrder,
297  SupplementalReceiveInfo theReceiveInfo)
298  throw (
299  FederateInternalError);
300 
301  virtual void receiveInteraction (
302  InteractionClassHandle theInteraction,
303  ParameterHandleValueMap const & theParameterValues,
304  VariableLengthData const & theUserSuppliedTag,
305  OrderType sentOrder,
306  TransportationType theType,
307  LogicalTime const & theTime,
308  OrderType receivedOrder,
309  MessageRetractionHandle theHandle,
310  SupplementalReceiveInfo theReceiveInfo)
311  throw (
312  FederateInternalError);
313 
314  // Simple event processing ignores additional receive parameters
315  virtual void processReceiveInteraction(rti1516e::InteractionClassHandle theInteraction);
316 
317  // 6.15
318  virtual void removeObjectInstance (
319  ObjectInstanceHandle theObject,
320  VariableLengthData const & theUserSuppliedTag,
321  OrderType sentOrder,
322  SupplementalRemoveInfo theRemoveInfo)
323  throw (
324  FederateInternalError);
325 
326  virtual void removeObjectInstance (
327  ObjectInstanceHandle theObject,
328  VariableLengthData const & theUserSuppliedTag,
329  OrderType sentOrder,
330  LogicalTime const & theTime,
331  OrderType receivedOrder,
332  SupplementalRemoveInfo theRemoveInfo)
333  throw (
334  FederateInternalError);
335 
336  virtual void removeObjectInstance (
337  ObjectInstanceHandle theObject,
338  VariableLengthData const & theUserSuppliedTag,
339  OrderType sentOrder,
340  LogicalTime const & theTime,
341  OrderType receivedOrder,
342  MessageRetractionHandle theHandle,
343  SupplementalRemoveInfo theRemoveInfo)
344  throw (
345  FederateInternalError);
346 
347  // Simple event processing ignores additional remove parameters
348  virtual void processRemoveObjectInstance(rti1516e::ObjectInstanceHandle theObject);
349 
350  // 6.17
351  virtual void attributesInScope (
352  ObjectInstanceHandle theObject,
353  AttributeHandleSet const & theAttributes)
354  throw (
355  FederateInternalError);
356 
357  // 6.18
358  virtual void attributesOutOfScope (
359  ObjectInstanceHandle theObject,
360  AttributeHandleSet const & theAttributes)
361  throw (
362  FederateInternalError);
363 
364  // 6.20
365  virtual void provideAttributeValueUpdate (
366  ObjectInstanceHandle theObject,
367  AttributeHandleSet const & theAttributes,
368  VariableLengthData const & theUserSuppliedTag)
369  throw (
370  FederateInternalError);
371 
372  // 6.21
373  virtual void turnUpdatesOnForObjectInstance (
374  ObjectInstanceHandle theObject,
375  AttributeHandleSet const & theAttributes)
376  throw (
377  FederateInternalError);
378 
379  virtual void turnUpdatesOnForObjectInstance (
380  ObjectInstanceHandle theObject,
381  AttributeHandleSet const & theAttributes,
382  std::wstring const & updateRateDesignator)
383  throw (
384  FederateInternalError);
385 
386  // 6.22
387  virtual void turnUpdatesOffForObjectInstance (
388  ObjectInstanceHandle theObject,
389  AttributeHandleSet const & theAttributes)
390  throw (
391  FederateInternalError);
392 
393  // 6.24
394  virtual void confirmAttributeTransportationTypeChange (
395  ObjectInstanceHandle theObject,
396  AttributeHandleSet theAttributes,
397  TransportationType theTransportation)
398  throw (
399  FederateInternalError);
400 
401  // 6.26
402  virtual void reportAttributeTransportationType (
403  ObjectInstanceHandle theObject,
404  AttributeHandle theAttribute,
405  TransportationType theTransportation)
406  throw (
407  FederateInternalError);
408 
409  // 6.28
410  virtual void confirmInteractionTransportationTypeChange (
411  InteractionClassHandle theInteraction,
412  TransportationType theTransportation)
413  throw (
414  FederateInternalError);
415 
416  // 6.30
417  virtual void reportInteractionTransportationType (
418  FederateHandle federateHandle,
419  InteractionClassHandle theInteraction,
420  TransportationType theTransportation)
421  throw (
422  FederateInternalError);
423 
424 
426  // Ownership Management Services //
428 
429  // 7.4
431  ObjectInstanceHandle theObject,
432  AttributeHandleSet const & offeredAttributes,
433  VariableLengthData const & theUserSuppliedTag)
434  throw (
435  FederateInternalError);
436 
437  // 7.5
438  virtual void requestDivestitureConfirmation (
439  ObjectInstanceHandle theObject,
440  AttributeHandleSet const & releasedAttributes)
441  throw (
442  FederateInternalError);
443 
444  // 7.7
446  ObjectInstanceHandle theObject,
447  AttributeHandleSet const & securedAttributes,
448  VariableLengthData const & theUserSuppliedTag)
449  throw (
450  FederateInternalError);
451 
452  // 7.10
453  virtual void attributeOwnershipUnavailable (
454  ObjectInstanceHandle theObject,
455  AttributeHandleSet const & theAttributes)
456  throw (
457  FederateInternalError);
458 
459  // 7.11
460  virtual void requestAttributeOwnershipRelease (
461  ObjectInstanceHandle theObject,
462  AttributeHandleSet const & candidateAttributes,
463  VariableLengthData const & theUserSuppliedTag)
464  throw (
465  FederateInternalError);
466 
467  // 7.16
469  ObjectInstanceHandle theObject,
470  AttributeHandleSet const & theAttributes)
471  throw (
472  FederateInternalError);
473 
474  // 7.18
475  virtual void informAttributeOwnership (
476  ObjectInstanceHandle theObject,
477  AttributeHandle theAttribute,
478  FederateHandle theOwner)
479  throw (
480  FederateInternalError);
481 
482  virtual void attributeIsNotOwned (
483  ObjectInstanceHandle theObject,
484  AttributeHandle theAttribute)
485  throw (
486  FederateInternalError);
487 
488  virtual void attributeIsOwnedByRTI (
489  ObjectInstanceHandle theObject,
490  AttributeHandle theAttribute)
491  throw (
492  FederateInternalError);
493 
495  // Time Management Services //
497 
498  // 8.3
499  virtual void timeRegulationEnabled (
500  LogicalTime const & theFederateTime)
501  throw (
502  FederateInternalError);
503 
504  // 8.6
505  virtual void timeConstrainedEnabled (
506  LogicalTime const & theFederateTime)
507  throw (
508  FederateInternalError);
509 
510  // 8.13
511  virtual void timeAdvanceGrant (
512  LogicalTime const & theTime)
513  throw (
514  FederateInternalError);
515 
516  // 8.22
517  virtual void requestRetraction (
518  MessageRetractionHandle theHandle)
519  throw (
520  FederateInternalError);
521 
522  private:
523  static const DtString theUnknownName;
524 };
525 #endif // DtIFSPEC1516E
526 #endif // netStatsFedAmb1516e_h__
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
virtual void attributesOutOfScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.14
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:30
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
ULong InteractionClassHandle
Definition: RTItypes13.h:106
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
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:88
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
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
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
ULong FederateHandle
Definition: RTItypes13.h:120
virtual void requestAttributeOwnershipAssumption(ObjectHandle theObject, const AttributeHandleSet &offeredAttributes, const char *theTag)=0
! Ownership Management Services //!
virtual Boolean throw(SpecifiedSaveLabelDoesNotExist, ConcurrentAccessAttempted, RTIinternalError)
virtual void turnUpdatesOnForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.17
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
ULong ObjectClassHandle
Definition: RTItypes13.h:104
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
OrderingHandle OrderType
Definition: RTItypes13.h:128
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
Handle AttributeHandle
Definition: RTItypes13.h:112
This file contains the declaration of the base federation manager.

Document ID: Generated on Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)