OpenDDS  Snapshot(2023/04/28-20:55)
DdsDcpsSubscriptionExt.idl
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DDSDCPSSUBSCRIPTIONEXT_IDL
9 #define OPENDDS_DDSDCPSSUBSCRIPTIONEXT_IDL
10 
11 // OpenDDS extensions to the DDS Subscription Module
12 
14 #include <dds/DdsDcpsGuid.idl>
15 
16 module OpenDDS
17 {
18 
19  module DCPS
20  {
21 
24  };
25 
28 
33  };
34 
35  /// Collection of latency statistics for a single association.
38  unsigned long n;
39  double maximum;
40  double minimum;
41  double mean;
42  double variance;
43  };
44 
46 
47  /// Called when a connection failure has been detected
48  /// and there are still associations using the connection
49  /// after the configurable graceful_disconnected_period.
50  /// When connection is gracefully disconnected, this callback
51  /// is also triggered.
52  void on_subscription_disconnected(
53  in ::DDS::DataReader reader,
54  in SubscriptionDisconnectedStatus status);
55 
56  /// Called when a disconnected connection
57  /// has been reconnected.
58  void on_subscription_reconnected(
59  in ::DDS::DataReader reader,
60  in SubscriptionReconnectedStatus status);
61 
62  /// Called when a connection is lost and hence one
63  /// or more associations from this subscription to
64  /// some publishers have been lost.
65  /// A connection is "lost" when the retry attempts
66  /// have been exhausted.
67  void on_subscription_lost(
68  in ::DDS::DataReader reader,
69  in SubscriptionLostStatus status);
70 
71  /// Called when the latency budget has been exceeded.
72  void on_budget_exceeded(
73  in ::DDS::DataReader reader,
74  in BudgetExceededStatus status);
75  };
76 
77 #ifndef OPENDDS_SAFETY_PROFILE
78  typedef sequence<LatencyStatistics> LatencyStatisticsSeq;
79 
80  local interface DataReaderEx : ::DDS::DataReader {
81  /// Obtain a sequence of statistics summaries.
82  void get_latency_stats( inout LatencyStatisticsSeq stats);
83 
84  /// Clear any intermediate statistical values.
85  void reset_latency_stats();
86 
87  /// Statistics gathering enable state.
88  attribute boolean statistics_enabled;
89  };
90 #else
91  local interface DataReaderEx : ::DDS::DataReader { };
92 #endif
93  };
94 
95 };
96 
97 #endif /* OPENDDS_DCPS_SUBSCRIPTION_EXT_IDL */
sequence< InstanceHandle_t > InstanceHandleSeq
Definition: DdsDcpsCore.idl:53
local interface<%TYPE%> DataReader
Definition: IDLTemplate.txt:72
Collection of latency statistics for a single association.
SubscriptionLostStatus SubscriptionDisconnectedStatus
sequence< LatencyStatistics > LatencyStatisticsSeq
HANDLE_TYPE_NATIVE InstanceHandle_t
Definition: DdsDcpsCore.idl:51
attribute boolean statistics_enabled
Statistics gathering enable state.
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
SubscriptionLostStatus SubscriptionReconnectedStatus