OpenDDS  Snapshot(2023/04/28-20:55)
OpenddsDcpsExt.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_DCPS_EXT_IDL
9 #define OPENDDS_DCPS_EXT_IDL
10 
11 #include <dds/DdsDcpsCore.idl>
12 #include <dds/DdsDcpsGuid.idl>
13 
14 #if defined __OPENDDS_IDL && !defined DDS_HAS_MINIMUM_BIT
15 # define BUILT_IN_TOPIC_TYPE @topic
16 # define BUILT_IN_TOPIC_KEY @key
17 #else
18 # define BUILT_IN_TOPIC_TYPE
19 # define BUILT_IN_TOPIC_KEY
20 #endif
21 
22 module OpenDDS
23 {
24  module DCPS
25  {
26  // Make the IDL compiler produce include of zero-copy read info
27  // sequence template.
28 #pragma DCPS_SUPPORT_ZERO_COPY_READ
29 
30  // OpenDDS extension built-in topic for participant
31  // network location/connection details.
32  typedef unsigned long ParticipantLocation;
33 
34  const ParticipantLocation LOCATION_LOCAL = 0x0001 << 0;
35  const ParticipantLocation LOCATION_ICE = 0x0001 << 1;
36  const ParticipantLocation LOCATION_RELAY = 0x0001 << 2;
37  const ParticipantLocation LOCATION_LOCAL6 = 0x0001 << 3;
38  const ParticipantLocation LOCATION_ICE6 = 0x0001 << 4;
39  const ParticipantLocation LOCATION_RELAY6 = 0x0001 << 5;
40 
44  ParticipantLocation location;
45  ParticipantLocation change_mask;
46  string local_addr;
48  string ice_addr;
50  string relay_addr;
52  string local6_addr;
54  string ice6_addr;
56  string relay6_addr;
58  };
59 
60  const string RTPS_RELAY_STUN_PROTOCOL = "RtpsRelay:STUN";
61 
68  };
69 
70  // OpenDDS extension built-in topic for thread
71  // status monitoring.
75  double utilization;
76  };
77 
78  const long LOCATOR_KIND_INVALID = -1;
79  const long LOCATOR_KIND_RESERVED = 0;
80  const long LOCATOR_KIND_UDPv4 = 1;
81  const long LOCATOR_KIND_UDPv6 = 2;
82  const unsigned long LOCATOR_PORT_INVALID = 0;
83 
84  /* Type used to represent the addressing information needed to send a
85  message to an RTPS Endpoint */
86  struct Locator_t {
87  long kind;
88  unsigned long _port;
90  };
91 
92  typedef sequence<Locator_t> LocatorSeq;
93 
94  typedef long MessageCountKind;
95  const MessageCountKind MCK_RTPS = 0;
96  const MessageCountKind MCK_STUN = 1;
97 
98  struct MessageCount {
100  @key MessageCountKind kind;
101  boolean relay;
102 
103  unsigned long send_count;
104  unsigned long send_bytes;
105  unsigned long send_fail_count;
106  unsigned long send_fail_bytes;
107  unsigned long recv_count;
108  unsigned long recv_bytes;
109  };
110 
111  struct GuidCount {
113  unsigned long count;
114  };
115 
116  typedef sequence<MessageCount> MessageCountSequence;
117  typedef sequence<GuidCount> GuidCountSequence;
118 
120  @key string transport;
121  MessageCountSequence message_count;
122  GuidCountSequence writer_resend_count;
123  GuidCountSequence reader_nack_count;
124  };
125 
126  typedef sequence<TransportStatistics> TransportStatisticsSequence;
127  }; // module DDS
128 }; // module OpenDDS
129 
130 #undef BUILT_IN_TOPIC_TYPE
131 #undef BUILT_IN_TOPIC_KEY
132 
133 #endif /* OPENDDS_DCPS_EXT_IDL */
BUILT_IN_TOPIC_KEY string protocol
const long LOCATOR_KIND_INVALID
#define BUILT_IN_TOPIC_KEY
sequence< octet > key
const ParticipantLocation LOCATION_LOCAL
const ParticipantLocation LOCATION_LOCAL6
#define BUILT_IN_TOPIC_TYPE
sequence< Locator_t > LocatorSeq
const MessageCountKind MCK_STUN
BUILT_IN_TOPIC_KEY string address
sequence< GuidCount > GuidCountSequence
sequence< MessageCount > MessageCountSequence
unsigned long ParticipantLocation
sequence< TransportStatistics > TransportStatisticsSequence
key MessageCountKind kind
const ParticipantLocation LOCATION_ICE
const unsigned long LOCATOR_PORT_INVALID
const long LOCATOR_KIND_UDPv6
const long LOCATOR_KIND_RESERVED
key OpenDDS::DCPS::GUID_t guid
BUILT_IN_TOPIC_KEY DDS::OctetArray16 guid
const MessageCountKind MCK_RTPS
const long LOCATOR_KIND_UDPv4
const ParticipantLocation LOCATION_RELAY
const string RTPS_RELAY_STUN_PROTOCOL
const ParticipantLocation LOCATION_ICE6
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
DDS::OctetArray16 address
const ParticipantLocation LOCATION_RELAY6
BUILT_IN_TOPIC_KEY DDS::OctetArray16 guid
octet OctetArray16[16]