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

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)