Fast DDS  Version 3.6.1.0
Fast DDS
RTPSParticipantAttributes.hpp
1 // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
19 #ifndef FASTDDS_RTPS_ATTRIBUTES__RTPSPARTICIPANTATTRIBUTES_HPP
20 #define FASTDDS_RTPS_ATTRIBUTES__RTPSPARTICIPANTATTRIBUTES_HPP
21 
22 #include <memory>
23 #include <sstream>
24 
25 #include <fastcdr/cdr/fixed_size_string.hpp>
26 
27 #include <fastdds/rtps/attributes/BuiltinTransports.hpp>
28 #include <fastdds/rtps/attributes/ExternalLocators.hpp>
29 #include <fastdds/rtps/attributes/PropertyPolicy.hpp>
30 #include <fastdds/rtps/attributes/ResourceManagement.hpp>
31 #include <fastdds/rtps/attributes/RTPSParticipantAllocationAttributes.hpp>
32 #include <fastdds/rtps/attributes/ThreadSettings.hpp>
33 #include <fastdds/rtps/common/Locator.hpp>
34 #include <fastdds/rtps/common/PortParameters.hpp>
35 #include <fastdds/rtps/common/Time_t.hpp>
36 #include <fastdds/rtps/common/Types.hpp>
37 #include <fastdds/rtps/flowcontrol/FlowControllerDescriptor.hpp>
38 #include <fastdds/rtps/transport/network/NetmaskFilterKind.hpp>
39 #include <fastdds/rtps/transport/TransportInterface.hpp>
40 #include <fastdds/fastdds_dll.hpp>
41 
42 namespace eprosima {
43 namespace fastdds {
44 namespace rtps {
45 
50 {
51  static constexpr const char* SIMPLE = "SIMPLE";
52  static constexpr const char* SERVER = "SERVER";
53  static constexpr const char* CLIENT = "CLIENT";
54  static constexpr const char* SUPER_CLIENT = "SUPER_CLIENT";
55  static constexpr const char* BACKUP = "BACKUP";
56  static constexpr const char* NONE = "NONE";
57  static constexpr const char* EXTERNAL = "EXTERNAL";
58  static constexpr const char* UNKNOWN = "UNKNOWN";
59 };
60 
61 } // namespace rtps
62 } // namespace fastdds
63 
64 namespace fastdds {
65 namespace rtps {
66 
69 {
70  NONE,
76  SIMPLE,
81  EXTERNAL,
86  CLIENT,
88  SERVER,
90  BACKUP,
95 };
96 
97 inline std::ostream& operator <<(
98  std::ostream& output,
99  const DiscoveryProtocol& discovery_protocol)
100 {
101  switch (discovery_protocol)
102  {
105  break;
108  break;
111  break;
114  break;
117  break;
120  break;
123  break;
124  default:
126  }
127  return output;
128 }
129 
136 FASTDDS_EXPORTED_API bool get_server_client_default_guidPrefix(
137  int id,
139 
140 // Port used if the ros environment variable doesn't specify one
141 constexpr uint16_t DEFAULT_ROS2_SERVER_PORT = 11811;
142 // Port used by default for tcp transport
143 constexpr uint16_t DEFAULT_TCP_SERVER_PORT = 42100;
144 
146 FASTDDS_TODO_BEFORE(4, 0, "Change it to uint8_t (implies also changing [de]serializations)");
148 {
152  FILTER_SAME_PROCESS = 0x4
153 };
154 
155 #define BUILTIN_DATA_MAX_SIZE 512
156 
158 class PDP;
159 class BuiltinProtocols;
160 
161 typedef struct PDPFactory
162 {
163  // Pointer to the PDP creator
164  PDP* (*CreatePDPInstance)(
165  BuiltinProtocols*);
166  // Pointer to the PDP destructor
168  PDP*);
169 
171  const struct PDPFactory& e) const
172  {
175  }
176 
178 
184 {
185 public:
186 
189 
192 
193 #if HAVE_SECURITY
194  bool enable_builtin_secure_publications_writer_and_subscriptions_reader;
195 
196  bool enable_builtin_secure_subscriptions_writer_and_publications_reader;
197 #endif // if HAVE_SECURITY
198 
202 #if HAVE_SECURITY
203  , enable_builtin_secure_publications_writer_and_subscriptions_reader(true)
204  , enable_builtin_secure_subscriptions_writer_and_publications_reader(true)
205 #endif // if HAVE_SECURITY
206  {
207  }
208 
210  const SimpleEDPAttributes& b) const
211  {
212  return (this->use_PublicationWriterANDSubscriptionReader == b.use_PublicationWriterANDSubscriptionReader) &&
213 #if HAVE_SECURITY
214  (this->enable_builtin_secure_publications_writer_and_subscriptions_reader ==
215  b.enable_builtin_secure_publications_writer_and_subscriptions_reader) &&
216  (this->enable_builtin_secure_subscriptions_writer_and_publications_reader ==
217  b.enable_builtin_secure_subscriptions_writer_and_publications_reader) &&
218 #endif // if HAVE_SECURITY
219  (this->use_PublicationReaderANDSubscriptionWriter == b.use_PublicationReaderANDSubscriptionWriter);
220  }
221 
222 };
223 
229 {
231  uint32_t count = 5u;
232 
234  dds::Duration_t period = { 0, 100000000u };
235 
237  const InitialAnnouncementConfig& b) const
238  {
239  return (count == b.count) && (period == b.period);
240  }
241 
242 };
243 
250 {
251 public:
252 
255 
260 
266 
272 
278 
281 
284 
292  dds::Duration_t discoveryServer_client_syncperiod = { 0, 450 * 1000000}; // 450 milliseconds
293 
296 
298  ParticipantFilteringFlags ignoreParticipantFlags = ParticipantFilteringFlags::NO_FILTER;
299 
300  DiscoverySettings() = default;
301 
303  const DiscoverySettings& b) const
304  {
305  return (this->discoveryProtocol == b.discoveryProtocol) &&
306  (this->use_SIMPLE_EndpointDiscoveryProtocol == b.use_SIMPLE_EndpointDiscoveryProtocol) &&
307  (this->use_STATIC_EndpointDiscoveryProtocol == b.use_STATIC_EndpointDiscoveryProtocol) &&
308  (this->discoveryServer_client_syncperiod == b.discoveryServer_client_syncperiod) &&
309  (this->m_PDPfactory == b.m_PDPfactory) &&
310  (this->leaseDuration == b.leaseDuration) &&
311  (this->leaseDuration_announcementperiod == b.leaseDuration_announcementperiod) &&
312  (this->initial_announcements == b.initial_announcements) &&
313  (this->m_simpleEDP == b.m_simpleEDP) &&
314  (this->static_edp_xml_config_ == b.static_edp_xml_config_) &&
315  (this->m_DiscoveryServers == b.m_DiscoveryServers) &&
316  (this->ignoreParticipantFlags == b.ignoreParticipantFlags);
317  }
318 
325  const char* str)
326  {
327  static_edp_xml_config_ = str;
328  }
329 
335  const char* static_edp_xml_config() const
336  {
337  return static_edp_xml_config_.c_str();
338  }
339 
340 private:
341 
344  std::string static_edp_xml_config_ = "";
345 };
346 
352 {
353 public:
354 
357 
360 
363 
366 
369 
372 
375 
378  MemoryManagementPolicy_t::PREALLOCATED_WITH_REALLOC_MEMORY_MODE;
379 
381  uint32_t readerPayloadSize = BUILTIN_DATA_MAX_SIZE;
382 
385  MemoryManagementPolicy_t::PREALLOCATED_WITH_REALLOC_MEMORY_MODE;
386 
388  uint32_t writerPayloadSize = BUILTIN_DATA_MAX_SIZE;
389 
391  uint32_t mutation_tries = 100u;
392 
395 
397  std::string flow_controller_name = "";
398 
399  BuiltinAttributes() = default;
400 
401  virtual ~BuiltinAttributes() = default;
402 
404  const BuiltinAttributes& b) const
405  {
406  return (this->discovery_config == b.discovery_config) &&
407  (this->use_WriterLivelinessProtocol == b.use_WriterLivelinessProtocol) &&
408  (this->network_configuration == b.network_configuration) &&
409  (this->metatrafficUnicastLocatorList == b.metatrafficUnicastLocatorList) &&
410  (this->metatrafficMulticastLocatorList == b.metatrafficMulticastLocatorList) &&
411  (this->metatraffic_external_unicast_locators == b.metatraffic_external_unicast_locators) &&
412  (this->initialPeersList == b.initialPeersList) &&
413  (this->readerHistoryMemoryPolicy == b.readerHistoryMemoryPolicy) &&
414  (this->readerPayloadSize == b.readerPayloadSize) &&
415  (this->writerHistoryMemoryPolicy == b.writerHistoryMemoryPolicy) &&
416  (this->writerPayloadSize == b.writerPayloadSize) &&
417  (this->mutation_tries == b.mutation_tries) &&
418  (this->flow_controller_name == b.flow_controller_name) &&
419  (this->avoid_builtin_multicast == b.avoid_builtin_multicast);
420  }
421 
422 };
423 
429 {
430  using FlowControllerDescriptorList = std::vector<std::shared_ptr<fastdds::rtps::FlowControllerDescriptor>>;
431 
432 public:
433 
435 
436  virtual ~RTPSParticipantAttributes() = default;
437 
439  const RTPSParticipantAttributes& b) const
440  {
441  return (this->name == b.name) &&
448  (this->netmaskFilter == b.netmaskFilter) &&
449  (this->builtin == b.builtin) &&
450  (this->port == b.port) &&
451  (this->userData == b.userData) &&
452  (this->participantID == b.participantID) &&
453  (this->easy_mode_ip == b.easy_mode_ip) &&
455  (this->properties == b.properties) &&
456  (this->prefix == b.prefix) &&
457  (this->flow_controllers == b.flow_controllers) &&
460 #if HAVE_SECURITY
461  (this->security_log_thread == b.security_log_thread) &&
462 #endif // if HAVE_SECURITY
466 
467  }
468 
476  FASTDDS_EXPORTED_API void setup_transports(
479 
485 
491 
496 
501 
506  uint32_t sendSocketBufferSize = 0;
507 
512 
515 
518 
519  FASTDDS_EXPORTED_API inline bool ReadguidPrefix(
520  const char* pfx)
521  {
522  return bool(std::istringstream(pfx) >> prefix);
523  }
524 
527 
530 
532  std::vector<octet> userData;
533 
535  int32_t participantID = -1;
536 
538  std::string easy_mode_ip = "";
539 
541  std::vector<std::shared_ptr<fastdds::rtps::TransportDescriptorInterface>> userTransports;
542 
544  bool useBuiltinTransports = true;
545 
548 
551 
553  inline void setName(
554  const char* nam)
555  {
556  name = nam;
557  }
558 
560  inline const char* getName() const
561  {
562  return name.c_str();
563  }
564 
566  FlowControllerDescriptorList flow_controllers;
567 
570 
573 
576 
579 
582 
583 #if HAVE_SECURITY
585  fastdds::rtps::ThreadSettings security_log_thread;
586 #endif // if HAVE_SECURITY
587 
592  uint32_t max_msg_size_no_frag = 0;
593 
594 private:
595 
597  fastcdr::string_255 name{"RTPSParticipant"};
598 };
599 
600 } // namespace rtps
601 } // namespace fastdds
602 } // namespace eprosima
603 
604 #endif // FASTDDS_RTPS_ATTRIBUTES__RTPSPARTICIPANTATTRIBUTES_HPP
Class BuiltinAttributes, to define the behavior of the RTPSParticipant builtin protocols.
Definition: RTPSParticipantAttributes.hpp:352
bool avoid_builtin_multicast
Set to true to avoid multicast traffic on builtin endpoints.
Definition: RTPSParticipantAttributes.hpp:394
fastdds::rtps::ExternalLocators metatraffic_external_unicast_locators
The collection of external locators to use for communication on metatraffic topics.
Definition: RTPSParticipantAttributes.hpp:371
MemoryManagementPolicy_t writerHistoryMemoryPolicy
Memory policy for builtin writers.
Definition: RTPSParticipantAttributes.hpp:384
std::string flow_controller_name
Flow controller name to use for the builtin writers.
Definition: RTPSParticipantAttributes.hpp:397
DiscoverySettings discovery_config
Discovery protocol related attributes.
Definition: RTPSParticipantAttributes.hpp:356
LocatorList_t initialPeersList
Initial peers.
Definition: RTPSParticipantAttributes.hpp:374
bool operator==(const BuiltinAttributes &b) const
Definition: RTPSParticipantAttributes.hpp:403
LocatorList_t metatrafficUnicastLocatorList
Metatraffic Unicast Locator List.
Definition: RTPSParticipantAttributes.hpp:365
MemoryManagementPolicy_t readerHistoryMemoryPolicy
Memory policy for builtin readers.
Definition: RTPSParticipantAttributes.hpp:377
uint32_t readerPayloadSize
Maximum payload size for builtin readers.
Definition: RTPSParticipantAttributes.hpp:381
bool use_WriterLivelinessProtocol
Indicates to use the WriterLiveliness protocol.
Definition: RTPSParticipantAttributes.hpp:359
uint32_t writerPayloadSize
Maximum payload size for builtin writers.
Definition: RTPSParticipantAttributes.hpp:388
LocatorList_t metatrafficMulticastLocatorList
Metatraffic Multicast Locator List.
Definition: RTPSParticipantAttributes.hpp:368
uint32_t mutation_tries
Mutation tries if the port is being used.
Definition: RTPSParticipantAttributes.hpp:391
NetworkConfigSet_t network_configuration
Network Configuration.
Definition: RTPSParticipantAttributes.hpp:362
Class DiscoverySettings, to define the attributes of the several discovery protocols available.
Definition: RTPSParticipantAttributes.hpp:250
SimpleEDPAttributes m_simpleEDP
Attributes of the SimpleEDP protocol.
Definition: RTPSParticipantAttributes.hpp:283
const char * static_edp_xml_config() const
Get the static endpoint XML configuration.
Definition: RTPSParticipantAttributes.hpp:335
ParticipantFilteringFlags ignoreParticipantFlags
Filtering participants out depending on location.
Definition: RTPSParticipantAttributes.hpp:298
dds::Duration_t discoveryServer_client_syncperiod
The period for the RTPSParticipant to: send its Discovery Message to its servers check for EDP endpoi...
Definition: RTPSParticipantAttributes.hpp:292
InitialAnnouncementConfig initial_announcements
Initial announcements configuration.
Definition: RTPSParticipantAttributes.hpp:280
dds::Duration_t leaseDuration
Lease Duration of the RTPSParticipant, indicating how much time remote RTPSParticipants should consid...
Definition: RTPSParticipantAttributes.hpp:271
void static_edp_xml_config(const char *str)
Set the static endpoint XML configuration.
Definition: RTPSParticipantAttributes.hpp:324
bool operator==(const DiscoverySettings &b) const
Definition: RTPSParticipantAttributes.hpp:302
dds::Duration_t leaseDuration_announcementperiod
The period for the RTPSParticipant to send its Discovery Message to all other discovered RTPSParticip...
Definition: RTPSParticipantAttributes.hpp:277
bool use_STATIC_EndpointDiscoveryProtocol
If set to true, StaticEDP based on an XML file would be implemented.
Definition: RTPSParticipantAttributes.hpp:265
bool use_SIMPLE_EndpointDiscoveryProtocol
If set to true, SimpleEDP would be used.
Definition: RTPSParticipantAttributes.hpp:259
PDPFactory m_PDPfactory
function that returns a PDP object (only if EXTERNAL selected)
Definition: RTPSParticipantAttributes.hpp:286
eprosima::fastdds::rtps::LocatorList m_DiscoveryServers
Discovery Server initial connections, needed if discoveryProtocol = CLIENT | SUPER_CLIENT | SERVER | ...
Definition: RTPSParticipantAttributes.hpp:295
DiscoveryProtocol discoveryProtocol
Chosen discovery protocol.
Definition: RTPSParticipantAttributes.hpp:254
Class LocatorList, a Locator vector that doesn't allow duplicates.
Definition: LocatorList.hpp:97
Class PortParameters, to define the port parameters and gains related with the RTPS protocol.
Definition: PortParameters.hpp:34
Definition: PropertyPolicy.hpp:30
Class RTPSParticipantAttributes used to define different aspects of a RTPSParticipant.
Definition: RTPSParticipantAttributes.hpp:429
std::string easy_mode_ip
IP of the Host where master Server is located (EASY_MODE context)
Definition: RTPSParticipantAttributes.hpp:538
LocatorList_t defaultUnicastLocatorList
Default list of Unicast Locators to be used for any Endpoint defined inside this RTPSParticipant in t...
Definition: RTPSParticipantAttributes.hpp:484
int32_t participantID
Participant ID.
Definition: RTPSParticipantAttributes.hpp:535
uint32_t sendSocketBufferSize
Send socket buffer size for the send resource.
Definition: RTPSParticipantAttributes.hpp:506
fastdds::rtps::ExternalLocators default_external_unicast_locators
The collection of external locators to use for communication on user created topics.
Definition: RTPSParticipantAttributes.hpp:495
FASTDDS_EXPORTED_API bool ReadguidPrefix(const char *pfx)
Definition: RTPSParticipantAttributes.hpp:519
PropertyPolicy properties
Property policies.
Definition: RTPSParticipantAttributes.hpp:550
fastdds::rtps::ThreadSettings discovery_server_thread
Thread settings for the discovery server thread.
Definition: RTPSParticipantAttributes.hpp:575
FASTDDS_EXPORTED_API void setup_transports(fastdds::rtps::BuiltinTransports transports, const fastdds::rtps::BuiltinTransportsOptions &options=fastdds::rtps::BuiltinTransportsOptions())
Provides a way of easily configuring transport related configuration on certain pre-defined scenarios...
LocatorList_t defaultMulticastLocatorList
Default list of Multicast Locators to be used for any Endpoint defined inside this RTPSParticipant in...
Definition: RTPSParticipantAttributes.hpp:490
bool ignore_non_matching_locators
Whether locators that don't match with the announced locators should be kept.
Definition: RTPSParticipantAttributes.hpp:500
std::vector< std::shared_ptr< fastdds::rtps::TransportDescriptorInterface > > userTransports
User defined transports to use alongside or in place of builtins.
Definition: RTPSParticipantAttributes.hpp:541
RTPSParticipantAllocationAttributes allocation
Holds allocation limits affecting collections managed by a participant.
Definition: RTPSParticipantAttributes.hpp:547
void setName(const char *nam)
Set the name of the participant.
Definition: RTPSParticipantAttributes.hpp:553
uint32_t max_msg_size_no_frag
Maximum message size used to avoid fragmentation, set ONLY in LARGE_DATA.
Definition: RTPSParticipantAttributes.hpp:592
bool useBuiltinTransports
Set as false to disable the creation of the default transports.
Definition: RTPSParticipantAttributes.hpp:544
FlowControllerDescriptorList flow_controllers
Flow controllers.
Definition: RTPSParticipantAttributes.hpp:566
fastdds::rtps::ThreadSettings builtin_controllers_sender_thread
Thread settings for the builtin flow controllers sender threads.
Definition: RTPSParticipantAttributes.hpp:569
std::vector< octet > userData
User Data of the participant.
Definition: RTPSParticipantAttributes.hpp:532
bool operator==(const RTPSParticipantAttributes &b) const
Definition: RTPSParticipantAttributes.hpp:438
GuidPrefix_t prefix
Optionally allows user to define the GuidPrefix_t.
Definition: RTPSParticipantAttributes.hpp:517
const char * getName() const
Get the name of the participant.
Definition: RTPSParticipantAttributes.hpp:560
BuiltinAttributes builtin
Builtin parameters.
Definition: RTPSParticipantAttributes.hpp:526
uint32_t listenSocketBufferSize
Listen socket buffer for all listen resources.
Definition: RTPSParticipantAttributes.hpp:511
fastdds::rtps::ThreadSettings builtin_transports_reception_threads
Thread settings for the builtin transports reception threads.
Definition: RTPSParticipantAttributes.hpp:581
fastdds::rtps::ThreadSettings typelookup_service_thread
Thread settings for the builtin TypeLookup service requests and replies threads.
Definition: RTPSParticipantAttributes.hpp:578
fastdds::rtps::ThreadSettings timed_events_thread
Thread settings for the timed events thread.
Definition: RTPSParticipantAttributes.hpp:572
fastdds::rtps::NetmaskFilterKind netmaskFilter
Netmask filter configuration.
Definition: RTPSParticipantAttributes.hpp:514
PortParameters port
Port Parameters.
Definition: RTPSParticipantAttributes.hpp:529
Class SimpleEDPAttributes, to define the attributes of the Simple Endpoint Discovery Protocol.
Definition: RTPSParticipantAttributes.hpp:184
bool operator==(const SimpleEDPAttributes &b) const
Definition: RTPSParticipantAttributes.hpp:209
bool use_PublicationWriterANDSubscriptionReader
Default value true.
Definition: RTPSParticipantAttributes.hpp:188
SimpleEDPAttributes()
Definition: RTPSParticipantAttributes.hpp:199
bool use_PublicationReaderANDSubscriptionWriter
Default value true.
Definition: RTPSParticipantAttributes.hpp:191
FASTDDS_EXPORTED_API bool get_server_client_default_guidPrefix(int id, fastdds::rtps::GuidPrefix_t &guid)
Returns the guidPrefix associated to the given server id.
BuiltinTransports
Defines the kind of transports automatically instantiated upon the creation of a participant.
Definition: BuiltinTransports.hpp:106
struct eprosima::fastdds::rtps::PDPFactory PDPFactory
NetmaskFilterKind
Definition: NetmaskFilterKind.hpp:31
enum eprosima::fastdds::rtps::MemoryManagementPolicy MemoryManagementPolicy_t
Enum MemoryuManagementPolicy_t, indicated the way memory is managed in terms of dealing with CacheCha...
uint32_t NetworkConfigSet_t
Definition: Types.hpp:86
constexpr uint16_t DEFAULT_ROS2_SERVER_PORT
Definition: RTPSParticipantAttributes.hpp:141
constexpr uint16_t DEFAULT_TCP_SERVER_PORT
Definition: RTPSParticipantAttributes.hpp:143
std::ostream & operator<<(std::ostream &output, BuiltinTransports transports)
Definition: BuiltinTransports.hpp:118
FASTDDS_TODO_BEFORE(4, 0, "Change it to uint8_t (implies also changing [de]serializations)")
Filtering flags when discovering participants.
std::map< uint8_t, std::map< uint8_t, std::vector< LocatorWithMask > >, std::greater< uint8_t > > ExternalLocators
A collection of LocatorWithMask grouped by externality and cost.
Definition: ExternalLocators.hpp:41
DiscoveryProtocol
PDP subclass choice.
Definition: RTPSParticipantAttributes.hpp:69
@ EXTERNAL
A user defined PDP subclass object must be provided in the attributes that deals with the discovery.
@ SERVER
The participant will behave as a server concerning discovery operation.
@ NONE
NO discovery whatsoever would be used.
@ BACKUP
The participant will behave as a server concerning discovery operation.
@ SIMPLE
Discovery works according to 'The Real-time Publish-Subscribe Protocol(RTPS) DDS Interoperability Wir...
@ SUPER_CLIENT
The participant will behave as a client concerning all internal behaviour.
@ CLIENT
The participant will behave as a client concerning discovery operation.
ParticipantFilteringFlags
Definition: RTPSParticipantAttributes.hpp:148
@ FILTER_DIFFERENT_HOST
Definition: RTPSParticipantAttributes.hpp:150
@ NO_FILTER
Definition: RTPSParticipantAttributes.hpp:149
@ FILTER_SAME_PROCESS
Definition: RTPSParticipantAttributes.hpp:152
@ FILTER_DIFFERENT_PROCESS
Definition: RTPSParticipantAttributes.hpp:151
Structure Time_t, used to describe times at a DDS level.
Definition: Time_t.hpp:36
Options for configuring the built-in transports when using LARGE_DATA mode.
Definition: BuiltinTransports.hpp:37
Structure GuidPrefix_t, Guid Prefix of GUID_t.
Definition: GuidPrefix_t.hpp:37
Struct InitialAnnouncementConfig defines the behavior of the RTPSParticipant initial announcements.
Definition: RTPSParticipantAttributes.hpp:229
dds::Duration_t period
Specific period for initial announcements (default 100ms)
Definition: RTPSParticipantAttributes.hpp:234
bool operator==(const InitialAnnouncementConfig &b) const
Definition: RTPSParticipantAttributes.hpp:236
uint32_t count
Number of initial announcements with specific period (default 5)
Definition: RTPSParticipantAttributes.hpp:231
Definition: RTPSParticipantAttributes.hpp:162
bool operator==(const struct PDPFactory &e) const
Definition: RTPSParticipantAttributes.hpp:170
PDP *(* CreatePDPInstance)(BuiltinProtocols *)
Definition: RTPSParticipantAttributes.hpp:164
void(* ReleasePDPInstance)(PDP *)
Definition: RTPSParticipantAttributes.hpp:167
Struct to define participant types to set participant type parameter property.
Definition: RTPSParticipantAttributes.hpp:50
static constexpr const char * SIMPLE
Definition: RTPSParticipantAttributes.hpp:51
static constexpr const char * CLIENT
Definition: RTPSParticipantAttributes.hpp:53
static constexpr const char * EXTERNAL
Definition: RTPSParticipantAttributes.hpp:57
static constexpr const char * UNKNOWN
Definition: RTPSParticipantAttributes.hpp:58
static constexpr const char * SUPER_CLIENT
Definition: RTPSParticipantAttributes.hpp:54
static constexpr const char * SERVER
Definition: RTPSParticipantAttributes.hpp:52
static constexpr const char * NONE
Definition: RTPSParticipantAttributes.hpp:56
static constexpr const char * BACKUP
Definition: RTPSParticipantAttributes.hpp:55
Holds allocation limits affecting collections managed by a participant.
Definition: RTPSParticipantAllocationAttributes.hpp:129
Struct ThreadSettings to specify various thread settings.
Definition: ThreadSettings.hpp:37