| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
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
18
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
49 struct ParticipantType
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
68 enum class DiscoveryProtocol
69{
70 NONE,
76 SIMPLE,
81 EXTERNAL,
86 CLIENT,
88 SERVER,
90 BACKUP,
92 SUPER_CLIENT
94
95};
96
97 inline std::ostream& operator <<(
98 std::ostream& output,
99 const DiscoveryProtocol& discovery_protocol)
100{
101 switch (discovery_protocol)
102 {
103 case DiscoveryProtocol::NONE:
104 output << fastdds::rtps::ParticipantType::NONE;
105 break;
106 case DiscoveryProtocol::SIMPLE:
107 output << fastdds::rtps::ParticipantType::SIMPLE;
108 break;
109 case DiscoveryProtocol::EXTERNAL:
110 output << fastdds::rtps::ParticipantType::EXTERNAL;
111 break;
112 case DiscoveryProtocol::CLIENT:
113 output << fastdds::rtps::ParticipantType::CLIENT;
114 break;
115 case DiscoveryProtocol::SUPER_CLIENT:
116 output << fastdds::rtps::ParticipantType::SUPER_CLIENT;
117 break;
118 case DiscoveryProtocol::SERVER:
119 output << fastdds::rtps::ParticipantType::SERVER;
120 break;
121 case DiscoveryProtocol::BACKUP:
122 output << fastdds::rtps::ParticipantType::BACKUP;
123 break;
124 default:
125 output << fastdds::rtps::ParticipantType::UNKNOWN;
126 }
127 return output;
128}
129
136FASTDDS_EXPORTED_API bool get_server_client_default_guidPrefix(
137 int id,
138 fastdds::rtps::GuidPrefix_t& guid);
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)");
147 enum ParticipantFilteringFlags : uint32_t
148{
149 NO_FILTER = 0,
150 FILTER_DIFFERENT_HOST = 0x1,
151 FILTER_DIFFERENT_PROCESS = 0x2,
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)(BuiltinProtocols*);
165 // Pointer to the PDP destructor
166 void (* ReleasePDPInstance)(
167 PDP*);
168
169 bool operator ==(
170 const struct PDPFactory& e) const
171 {
172 return (CreatePDPInstance == e.CreatePDPInstance)
173 && (ReleasePDPInstance == e.ReleasePDPInstance);
174 }
175
176} PDPFactory;
177
182 class SimpleEDPAttributes
183{
184 public:
185
187 bool use_PublicationWriterANDSubscriptionReader;
188
190 bool use_PublicationReaderANDSubscriptionWriter;
191
192#if HAVE_SECURITY
193 bool enable_builtin_secure_publications_writer_and_subscriptions_reader;
194
195 bool enable_builtin_secure_subscriptions_writer_and_publications_reader;
196#endif // if HAVE_SECURITY
197
198 SimpleEDPAttributes()
199 : use_PublicationWriterANDSubscriptionReader(true)
200 , use_PublicationReaderANDSubscriptionWriter(true)
201#if HAVE_SECURITY
202 , enable_builtin_secure_publications_writer_and_subscriptions_reader(true)
203 , enable_builtin_secure_subscriptions_writer_and_publications_reader(true)
204#endif // if HAVE_SECURITY
205 {
206 }
207
208 bool operator ==(
209 const SimpleEDPAttributes& b) const
210 {
211 return (this->use_PublicationWriterANDSubscriptionReader == b.use_PublicationWriterANDSubscriptionReader) &&
212#if HAVE_SECURITY
213 (this->enable_builtin_secure_publications_writer_and_subscriptions_reader ==
214 b.enable_builtin_secure_publications_writer_and_subscriptions_reader) &&
215 (this->enable_builtin_secure_subscriptions_writer_and_publications_reader ==
216 b.enable_builtin_secure_subscriptions_writer_and_publications_reader) &&
217#endif // if HAVE_SECURITY
218 (this->use_PublicationReaderANDSubscriptionWriter == b.use_PublicationReaderANDSubscriptionWriter);
219 }
220
221};
222
227 struct InitialAnnouncementConfig
228{
230 uint32_t count = 5u;
231
233 dds::Duration_t period = { 0, 100000000u };
234
235 bool operator ==(
236 const InitialAnnouncementConfig& b) const
237 {
238 return (count == b.count) && (period == b.period);
239 }
240
241};
242
247
248 class DiscoverySettings
249{
250 public:
251
253 DiscoveryProtocol discoveryProtocol = DiscoveryProtocol::SIMPLE;
254
258 bool use_SIMPLE_EndpointDiscoveryProtocol = true;
259
264 bool use_STATIC_EndpointDiscoveryProtocol = false;
265
270 dds::Duration_t leaseDuration = { 20, 0 };
271
276 dds::Duration_t leaseDuration_announcementperiod = { 3, 0 };
277
279 InitialAnnouncementConfig initial_announcements;
280
282 SimpleEDPAttributes m_simpleEDP;
283
285 PDPFactory m_PDPfactory{};
291 dds::Duration_t discoveryServer_client_syncperiod = { 0, 450 * 1000000}; // 450 milliseconds
292
294 eprosima::fastdds::rtps::LocatorList m_DiscoveryServers;
295
297 ParticipantFilteringFlags ignoreParticipantFlags = ParticipantFilteringFlags::NO_FILTER;
298
299 DiscoverySettings() = default;
300
301 bool operator ==(
302 const DiscoverySettings& b) const
303 {
304 return (this->discoveryProtocol == b.discoveryProtocol) &&
305 (this->use_SIMPLE_EndpointDiscoveryProtocol == b.use_SIMPLE_EndpointDiscoveryProtocol) &&
306 (this->use_STATIC_EndpointDiscoveryProtocol == b.use_STATIC_EndpointDiscoveryProtocol) &&
307 (this->discoveryServer_client_syncperiod == b.discoveryServer_client_syncperiod) &&
308 (this->m_PDPfactory == b.m_PDPfactory) &&
309 (this->leaseDuration == b.leaseDuration) &&
310 (this->leaseDuration_announcementperiod == b.leaseDuration_announcementperiod) &&
311 (this->initial_announcements == b.initial_announcements) &&
312 (this->m_simpleEDP == b.m_simpleEDP) &&
313 (this->static_edp_xml_config_ == b.static_edp_xml_config_) &&
314 (this->m_DiscoveryServers == b.m_DiscoveryServers) &&
315 (this->ignoreParticipantFlags == b.ignoreParticipantFlags);
316 }
317
323 void static_edp_xml_config(
324 const char* str)
325 {
326 static_edp_xml_config_ = str;
327 }
328
334 const char* static_edp_xml_config() const
335 {
336 return static_edp_xml_config_.c_str();
337 }
338
339 private:
340
343 std::string static_edp_xml_config_ = "";
344};
345
350 class BuiltinAttributes
351{
352 public:
353
355 DiscoverySettings discovery_config;
356
358 bool use_WriterLivelinessProtocol = true;
359
361 NetworkConfigSet_t network_configuration = 0;
362
364 LocatorList_t metatrafficUnicastLocatorList;
365
367 LocatorList_t metatrafficMulticastLocatorList;
368
370 fastdds::rtps::ExternalLocators metatraffic_external_unicast_locators;
371
373 LocatorList_t initialPeersList;
374
376 MemoryManagementPolicy_t readerHistoryMemoryPolicy =
377 MemoryManagementPolicy_t::PREALLOCATED_WITH_REALLOC_MEMORY_MODE;
378
380 uint32_t readerPayloadSize = BUILTIN_DATA_MAX_SIZE;
381
383 MemoryManagementPolicy_t writerHistoryMemoryPolicy =
384 MemoryManagementPolicy_t::PREALLOCATED_WITH_REALLOC_MEMORY_MODE;
385
387 uint32_t writerPayloadSize = BUILTIN_DATA_MAX_SIZE;
388
390 uint32_t mutation_tries = 100u;
391
393 bool avoid_builtin_multicast = true;
394
396 std::string flow_controller_name = "";
397
398 BuiltinAttributes() = default;
399
400 virtual ~BuiltinAttributes() = default;
401
402 bool operator ==(
403 const BuiltinAttributes& b) const
404 {
405 return (this->discovery_config == b.discovery_config) &&
406 (this->use_WriterLivelinessProtocol == b.use_WriterLivelinessProtocol) &&
407 (this->network_configuration == b.network_configuration) &&
408 (this->metatrafficUnicastLocatorList == b.metatrafficUnicastLocatorList) &&
409 (this->metatrafficMulticastLocatorList == b.metatrafficMulticastLocatorList) &&
410 (this->metatraffic_external_unicast_locators == b.metatraffic_external_unicast_locators) &&
411 (this->initialPeersList == b.initialPeersList) &&
412 (this->readerHistoryMemoryPolicy == b.readerHistoryMemoryPolicy) &&
413 (this->readerPayloadSize == b.readerPayloadSize) &&
414 (this->writerHistoryMemoryPolicy == b.writerHistoryMemoryPolicy) &&
415 (this->writerPayloadSize == b.writerPayloadSize) &&
416 (this->mutation_tries == b.mutation_tries) &&
417 (this->flow_controller_name == b.flow_controller_name) &&
418 (this->avoid_builtin_multicast == b.avoid_builtin_multicast);
419 }
420
421};
422
427 class RTPSParticipantAttributes
428{
429 using FlowControllerDescriptorList = std::vector<std::shared_ptr<fastdds::rtps::FlowControllerDescriptor>>;
430
431 public:
432
433 RTPSParticipantAttributes() = default;
434
435 virtual ~RTPSParticipantAttributes() = default;
436
437 bool operator ==(
438 const RTPSParticipantAttributes& b) const
439 {
440 return (this->name == b.name) &&
441 (this->defaultUnicastLocatorList == b.defaultUnicastLocatorList) &&
442 (this->defaultMulticastLocatorList == b.defaultMulticastLocatorList) &&
443 (this->default_external_unicast_locators == b.default_external_unicast_locators) &&
444 (this->ignore_non_matching_locators == b.ignore_non_matching_locators) &&
445 (this->sendSocketBufferSize == b.sendSocketBufferSize) &&
446 (this->listenSocketBufferSize == b.listenSocketBufferSize) &&
447 (this->netmaskFilter == b.netmaskFilter) &&
448 (this->builtin == b.builtin) &&
449 (this->port == b.port) &&
450 (this->userData == b.userData) &&
451 (this->participantID == b.participantID) &&
452 (this->easy_mode_ip == b.easy_mode_ip) &&
453 (this->useBuiltinTransports == b.useBuiltinTransports) &&
454 (this->properties == b.properties) &&
455 (this->prefix == b.prefix) &&
456 (this->flow_controllers == b.flow_controllers) &&
457 (this->builtin_controllers_sender_thread == b.builtin_controllers_sender_thread) &&
458 (this->timed_events_thread == b.timed_events_thread) &&
459#if HAVE_SECURITY
460 (this->security_log_thread == b.security_log_thread) &&
461#endif // if HAVE_SECURITY
462 (this->discovery_server_thread == b.discovery_server_thread) &&
463 (this->typelookup_service_thread == b.typelookup_service_thread) &&
464 (this->builtin_transports_reception_threads == b.builtin_transports_reception_threads);
465
466 }
467
475 FASTDDS_EXPORTED_API void setup_transports(
476 fastdds::rtps::BuiltinTransports transports,
477 const fastdds::rtps::BuiltinTransportsOptions& options = fastdds::rtps::BuiltinTransportsOptions());
478
483 LocatorList_t defaultUnicastLocatorList;
484
489 LocatorList_t defaultMulticastLocatorList;
490
494 fastdds::rtps::ExternalLocators default_external_unicast_locators;
495
499 bool ignore_non_matching_locators = false;
500
505 uint32_t sendSocketBufferSize = 0;
506
510 uint32_t listenSocketBufferSize = 0;
511
513 fastdds::rtps::NetmaskFilterKind netmaskFilter = fastdds::rtps::NetmaskFilterKind::AUTO;
514
516 GuidPrefix_t prefix;
517
518 FASTDDS_EXPORTED_API inline bool ReadguidPrefix(
519 const char* pfx)
520 {
521 return bool(std::istringstream(pfx) >> prefix);
522 }
523
525 BuiltinAttributes builtin;
526
528 PortParameters port;
529
531 std::vector<octet> userData;
532
534 int32_t participantID = -1;
535
537 std::string easy_mode_ip = "";
538
540 std::vector<std::shared_ptr<fastdds::rtps::TransportDescriptorInterface>> userTransports;
541
543 bool useBuiltinTransports = true;
544
546 RTPSParticipantAllocationAttributes allocation;
547
549 PropertyPolicy properties;
550
552 inline void setName(
553 const char* nam)
554 {
555 name = nam;
556 }
557
559 inline const char* getName() const
560 {
561 return name.c_str();
562 }
563
565 FlowControllerDescriptorList flow_controllers;
566
568 fastdds::rtps::ThreadSettings builtin_controllers_sender_thread;
569
571 fastdds::rtps::ThreadSettings timed_events_thread;
572
574 fastdds::rtps::ThreadSettings discovery_server_thread;
575
577 fastdds::rtps::ThreadSettings typelookup_service_thread;
578
580 fastdds::rtps::ThreadSettings builtin_transports_reception_threads;
581
582#if HAVE_SECURITY
584 fastdds::rtps::ThreadSettings security_log_thread;
585#endif // if HAVE_SECURITY
586
591 uint32_t max_msg_size_no_frag = 0;
592
593 private:
594
596 fastcdr::string_255 name{"RTPSParticipant"};
597};
598
599} // namespace rtps
600} // namespace fastdds
601} // namespace eprosima
602
603#endif // FASTDDS_RTPS_ATTRIBUTES__RTPSPARTICIPANTATTRIBUTES_HPP
eprosima::fastdds::rtps::BuiltinAttributes
Class BuiltinAttributes, to define the behavior of the RTPSParticipant builtin protocols.
Definition RTPSParticipantAttributes.hpp:351
eprosima::fastdds::rtps::BuiltinAttributes::avoid_builtin_multicast
bool avoid_builtin_multicast
Set to true to avoid multicast traffic on builtin endpoints.
Definition RTPSParticipantAttributes.hpp:393
eprosima::fastdds::rtps::BuiltinAttributes::metatraffic_external_unicast_locators
fastdds::rtps::ExternalLocators metatraffic_external_unicast_locators
The collection of external locators to use for communication on metatraffic topics.
Definition RTPSParticipantAttributes.hpp:370
eprosima::fastdds::rtps::BuiltinAttributes::~BuiltinAttributes
virtual ~BuiltinAttributes()=default
eprosima::fastdds::rtps::BuiltinAttributes::writerHistoryMemoryPolicy
MemoryManagementPolicy_t writerHistoryMemoryPolicy
Memory policy for builtin writers.
Definition RTPSParticipantAttributes.hpp:383
eprosima::fastdds::rtps::BuiltinAttributes::flow_controller_name
std::string flow_controller_name
Flow controller name to use for the builtin writers.
Definition RTPSParticipantAttributes.hpp:396
eprosima::fastdds::rtps::BuiltinAttributes::discovery_config
DiscoverySettings discovery_config
Discovery protocol related attributes.
Definition RTPSParticipantAttributes.hpp:355
eprosima::fastdds::rtps::BuiltinAttributes::initialPeersList
LocatorList_t initialPeersList
Initial peers.
Definition RTPSParticipantAttributes.hpp:373
eprosima::fastdds::rtps::BuiltinAttributes::operator==
bool operator==(const BuiltinAttributes &b) const
Definition RTPSParticipantAttributes.hpp:402
eprosima::fastdds::rtps::BuiltinAttributes::metatrafficUnicastLocatorList
LocatorList_t metatrafficUnicastLocatorList
Metatraffic Unicast Locator List.
Definition RTPSParticipantAttributes.hpp:364
eprosima::fastdds::rtps::BuiltinAttributes::readerHistoryMemoryPolicy
MemoryManagementPolicy_t readerHistoryMemoryPolicy
Memory policy for builtin readers.
Definition RTPSParticipantAttributes.hpp:376
eprosima::fastdds::rtps::BuiltinAttributes::readerPayloadSize
uint32_t readerPayloadSize
Maximum payload size for builtin readers.
Definition RTPSParticipantAttributes.hpp:380
eprosima::fastdds::rtps::BuiltinAttributes::BuiltinAttributes
BuiltinAttributes()=default
eprosima::fastdds::rtps::BuiltinAttributes::use_WriterLivelinessProtocol
bool use_WriterLivelinessProtocol
Indicates to use the WriterLiveliness protocol.
Definition RTPSParticipantAttributes.hpp:358
eprosima::fastdds::rtps::BuiltinAttributes::writerPayloadSize
uint32_t writerPayloadSize
Maximum payload size for builtin writers.
Definition RTPSParticipantAttributes.hpp:387
eprosima::fastdds::rtps::BuiltinAttributes::metatrafficMulticastLocatorList
LocatorList_t metatrafficMulticastLocatorList
Metatraffic Multicast Locator List.
Definition RTPSParticipantAttributes.hpp:367
eprosima::fastdds::rtps::BuiltinAttributes::mutation_tries
uint32_t mutation_tries
Mutation tries if the port is being used.
Definition RTPSParticipantAttributes.hpp:390
eprosima::fastdds::rtps::BuiltinAttributes::network_configuration
NetworkConfigSet_t network_configuration
Network Configuration.
Definition RTPSParticipantAttributes.hpp:361
eprosima::fastdds::rtps::DiscoverySettings
Class DiscoverySettings, to define the attributes of the several discovery protocols available.
Definition RTPSParticipantAttributes.hpp:249
eprosima::fastdds::rtps::DiscoverySettings::m_simpleEDP
SimpleEDPAttributes m_simpleEDP
Attributes of the SimpleEDP protocol.
Definition RTPSParticipantAttributes.hpp:282
eprosima::fastdds::rtps::DiscoverySettings::static_edp_xml_config
const char * static_edp_xml_config() const
Get the static endpoint XML configuration.
Definition RTPSParticipantAttributes.hpp:334
eprosima::fastdds::rtps::DiscoverySettings::ignoreParticipantFlags
ParticipantFilteringFlags ignoreParticipantFlags
Filtering participants out depending on location.
Definition RTPSParticipantAttributes.hpp:297
eprosima::fastdds::rtps::DiscoverySettings::discoveryServer_client_syncperiod
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:291
eprosima::fastdds::rtps::DiscoverySettings::initial_announcements
InitialAnnouncementConfig initial_announcements
Initial announcements configuration.
Definition RTPSParticipantAttributes.hpp:279
eprosima::fastdds::rtps::DiscoverySettings::DiscoverySettings
DiscoverySettings()=default
eprosima::fastdds::rtps::DiscoverySettings::leaseDuration
dds::Duration_t leaseDuration
Lease Duration of the RTPSParticipant, indicating how much time remote RTPSParticipants should consid...
Definition RTPSParticipantAttributes.hpp:270
eprosima::fastdds::rtps::DiscoverySettings::static_edp_xml_config
void static_edp_xml_config(const char *str)
Set the static endpoint XML configuration.
Definition RTPSParticipantAttributes.hpp:323
eprosima::fastdds::rtps::DiscoverySettings::operator==
bool operator==(const DiscoverySettings &b) const
Definition RTPSParticipantAttributes.hpp:301
eprosima::fastdds::rtps::DiscoverySettings::leaseDuration_announcementperiod
dds::Duration_t leaseDuration_announcementperiod
The period for the RTPSParticipant to send its Discovery Message to all other discovered RTPSParticip...
Definition RTPSParticipantAttributes.hpp:276
eprosima::fastdds::rtps::DiscoverySettings::use_STATIC_EndpointDiscoveryProtocol
bool use_STATIC_EndpointDiscoveryProtocol
If set to true, StaticEDP based on an XML file would be implemented.
Definition RTPSParticipantAttributes.hpp:264
eprosima::fastdds::rtps::DiscoverySettings::use_SIMPLE_EndpointDiscoveryProtocol
bool use_SIMPLE_EndpointDiscoveryProtocol
If set to true, SimpleEDP would be used.
Definition RTPSParticipantAttributes.hpp:258
eprosima::fastdds::rtps::DiscoverySettings::m_PDPfactory
PDPFactory m_PDPfactory
function that returns a PDP object (only if EXTERNAL selected)
Definition RTPSParticipantAttributes.hpp:285
eprosima::fastdds::rtps::DiscoverySettings::m_DiscoveryServers
eprosima::fastdds::rtps::LocatorList m_DiscoveryServers
Discovery Server initial connections, needed if discoveryProtocol = CLIENT | SUPER_CLIENT | SERVER | ...
Definition RTPSParticipantAttributes.hpp:294
eprosima::fastdds::rtps::DiscoverySettings::discoveryProtocol
DiscoveryProtocol discoveryProtocol
Chosen discovery protocol.
Definition RTPSParticipantAttributes.hpp:253
eprosima::fastdds::rtps::LocatorList
Class LocatorList, a Locator vector that doesn't allow duplicates.
Definition LocatorList.hpp:97
eprosima::fastdds::rtps::PortParameters
Class PortParameters, to define the port parameters and gains related with the RTPS protocol.
Definition PortParameters.hpp:35
eprosima::fastdds::rtps::PropertyPolicy
Definition PropertyPolicy.hpp:30
eprosima::fastdds::rtps::RTPSParticipantAttributes::easy_mode_ip
std::string easy_mode_ip
IP of the Host where master Server is located (EASY_MODE context).
Definition RTPSParticipantAttributes.hpp:537
eprosima::fastdds::rtps::RTPSParticipantAttributes::defaultUnicastLocatorList
LocatorList_t defaultUnicastLocatorList
Default list of Unicast Locators to be used for any Endpoint defined inside this RTPSParticipant in t...
Definition RTPSParticipantAttributes.hpp:483
eprosima::fastdds::rtps::RTPSParticipantAttributes::participantID
int32_t participantID
Participant ID.
Definition RTPSParticipantAttributes.hpp:534
eprosima::fastdds::rtps::RTPSParticipantAttributes::sendSocketBufferSize
uint32_t sendSocketBufferSize
Send socket buffer size for the send resource.
Definition RTPSParticipantAttributes.hpp:505
eprosima::fastdds::rtps::RTPSParticipantAttributes::default_external_unicast_locators
fastdds::rtps::ExternalLocators default_external_unicast_locators
The collection of external locators to use for communication on user created topics.
Definition RTPSParticipantAttributes.hpp:494
eprosima::fastdds::rtps::RTPSParticipantAttributes::ReadguidPrefix
FASTDDS_EXPORTED_API bool ReadguidPrefix(const char *pfx)
Definition RTPSParticipantAttributes.hpp:518
eprosima::fastdds::rtps::RTPSParticipantAttributes::properties
PropertyPolicy properties
Property policies.
Definition RTPSParticipantAttributes.hpp:549
eprosima::fastdds::rtps::RTPSParticipantAttributes::discovery_server_thread
fastdds::rtps::ThreadSettings discovery_server_thread
Thread settings for the discovery server thread.
Definition RTPSParticipantAttributes.hpp:574
eprosima::fastdds::rtps::RTPSParticipantAttributes::setup_transports
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...
eprosima::fastdds::rtps::RTPSParticipantAttributes::defaultMulticastLocatorList
LocatorList_t defaultMulticastLocatorList
Default list of Multicast Locators to be used for any Endpoint defined inside this RTPSParticipant in...
Definition RTPSParticipantAttributes.hpp:489
eprosima::fastdds::rtps::RTPSParticipantAttributes::ignore_non_matching_locators
bool ignore_non_matching_locators
Whether locators that don't match with the announced locators should be kept.
Definition RTPSParticipantAttributes.hpp:499
eprosima::fastdds::rtps::RTPSParticipantAttributes::~RTPSParticipantAttributes
virtual ~RTPSParticipantAttributes()=default
eprosima::fastdds::rtps::RTPSParticipantAttributes::getName
const char * getName() const
Get the name of the participant.
Definition RTPSParticipantAttributes.hpp:559
eprosima::fastdds::rtps::RTPSParticipantAttributes::userTransports
std::vector< std::shared_ptr< fastdds::rtps::TransportDescriptorInterface > > userTransports
User defined transports to use alongside or in place of builtins.
Definition RTPSParticipantAttributes.hpp:540
eprosima::fastdds::rtps::RTPSParticipantAttributes::RTPSParticipantAttributes
RTPSParticipantAttributes()=default
eprosima::fastdds::rtps::RTPSParticipantAttributes::allocation
RTPSParticipantAllocationAttributes allocation
Holds allocation limits affecting collections managed by a participant.
Definition RTPSParticipantAttributes.hpp:546
eprosima::fastdds::rtps::RTPSParticipantAttributes::setName
void setName(const char *nam)
Set the name of the participant.
Definition RTPSParticipantAttributes.hpp:552
eprosima::fastdds::rtps::RTPSParticipantAttributes::max_msg_size_no_frag
uint32_t max_msg_size_no_frag
Maximum message size used to avoid fragmentation, set ONLY in LARGE_DATA.
Definition RTPSParticipantAttributes.hpp:591
eprosima::fastdds::rtps::RTPSParticipantAttributes::useBuiltinTransports
bool useBuiltinTransports
Set as false to disable the creation of the default transports.
Definition RTPSParticipantAttributes.hpp:543
eprosima::fastdds::rtps::RTPSParticipantAttributes::flow_controllers
FlowControllerDescriptorList flow_controllers
Flow controllers.
Definition RTPSParticipantAttributes.hpp:565
eprosima::fastdds::rtps::RTPSParticipantAttributes::builtin_controllers_sender_thread
fastdds::rtps::ThreadSettings builtin_controllers_sender_thread
Thread settings for the builtin flow controllers sender threads.
Definition RTPSParticipantAttributes.hpp:568
eprosima::fastdds::rtps::RTPSParticipantAttributes::userData
std::vector< octet > userData
User Data of the participant.
Definition RTPSParticipantAttributes.hpp:531
eprosima::fastdds::rtps::RTPSParticipantAttributes::operator==
bool operator==(const RTPSParticipantAttributes &b) const
Definition RTPSParticipantAttributes.hpp:437
eprosima::fastdds::rtps::RTPSParticipantAttributes::prefix
GuidPrefix_t prefix
Optionally allows user to define the GuidPrefix_t.
Definition RTPSParticipantAttributes.hpp:516
eprosima::fastdds::rtps::RTPSParticipantAttributes::builtin
BuiltinAttributes builtin
Builtin parameters.
Definition RTPSParticipantAttributes.hpp:525
eprosima::fastdds::rtps::RTPSParticipantAttributes::listenSocketBufferSize
uint32_t listenSocketBufferSize
Listen socket buffer for all listen resources.
Definition RTPSParticipantAttributes.hpp:510
eprosima::fastdds::rtps::RTPSParticipantAttributes::builtin_transports_reception_threads
fastdds::rtps::ThreadSettings builtin_transports_reception_threads
Thread settings for the builtin transports reception threads.
Definition RTPSParticipantAttributes.hpp:580
eprosima::fastdds::rtps::RTPSParticipantAttributes::typelookup_service_thread
fastdds::rtps::ThreadSettings typelookup_service_thread
Thread settings for the builtin TypeLookup service requests and replies threads.
Definition RTPSParticipantAttributes.hpp:577
eprosima::fastdds::rtps::RTPSParticipantAttributes::timed_events_thread
fastdds::rtps::ThreadSettings timed_events_thread
Thread settings for the timed events thread.
Definition RTPSParticipantAttributes.hpp:571
eprosima::fastdds::rtps::RTPSParticipantAttributes::netmaskFilter
fastdds::rtps::NetmaskFilterKind netmaskFilter
Netmask filter configuration.
Definition RTPSParticipantAttributes.hpp:513
eprosima::fastdds::rtps::RTPSParticipantAttributes::port
PortParameters port
Port Parameters.
Definition RTPSParticipantAttributes.hpp:528
eprosima::fastdds::rtps::SimpleEDPAttributes
Class SimpleEDPAttributes, to define the attributes of the Simple Endpoint Discovery Protocol.
Definition RTPSParticipantAttributes.hpp:183
eprosima::fastdds::rtps::SimpleEDPAttributes::operator==
bool operator==(const SimpleEDPAttributes &b) const
Definition RTPSParticipantAttributes.hpp:208
eprosima::fastdds::rtps::SimpleEDPAttributes::use_PublicationWriterANDSubscriptionReader
bool use_PublicationWriterANDSubscriptionReader
Default value true.
Definition RTPSParticipantAttributes.hpp:187
eprosima::fastdds::rtps::SimpleEDPAttributes::SimpleEDPAttributes
SimpleEDPAttributes()
Definition RTPSParticipantAttributes.hpp:198
eprosima::fastdds::rtps::SimpleEDPAttributes::use_PublicationReaderANDSubscriptionWriter
bool use_PublicationReaderANDSubscriptionWriter
Default value true.
Definition RTPSParticipantAttributes.hpp:190
eprosima::fastdds::dds::Duration_t
Time_t Duration_t
Definition Time_t.hpp:91
eprosima::fastdds::rtps
Contains the RTPS protocol implementation.
eprosima::fastdds::rtps::LocatorList_t
eprosima::fastdds::rtps::LocatorList LocatorList_t
Definition LocatorList.hpp:478
eprosima::fastdds::rtps::operator<<
std::ostream & operator<<(std::ostream &output, BuiltinTransports transports)
Definition BuiltinTransports.hpp:118
eprosima::fastdds::rtps::BuiltinTransports
BuiltinTransports
Defines the kind of transports automatically instantiated upon the creation of a participant.
Definition BuiltinTransports.hpp:106
eprosima::fastdds::rtps::BuiltinTransports::NONE
@ NONE
Definition BuiltinTransports.hpp:107
eprosima::fastdds::rtps::PDPFactory
struct eprosima::fastdds::rtps::PDPFactory PDPFactory
eprosima::fastdds::rtps::NetmaskFilterKind
NetmaskFilterKind
Definition NetmaskFilterKind.hpp:31
eprosima::fastdds::rtps::NetmaskFilterKind::AUTO
@ AUTO
Definition NetmaskFilterKind.hpp:33
eprosima::fastdds::rtps::get_server_client_default_guidPrefix
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.
eprosima::fastdds::rtps::ExternalLocators
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:34
eprosima::fastdds::rtps::MemoryManagementPolicy_t
enum eprosima::fastdds::rtps::MemoryManagementPolicy MemoryManagementPolicy_t
Enum MemoryuManagementPolicy_t, indicated the way memory is managed in terms of dealing with CacheCha...
eprosima::fastdds::rtps::FASTDDS_TODO_BEFORE
FASTDDS_TODO_BEFORE(4, 0, "Change it to uint8_t (implies also changing [de]serializations)")
Filtering flags when discovering participants.
eprosima::fastdds::rtps::NetworkConfigSet_t
uint32_t NetworkConfigSet_t
Definition Types.hpp:88
eprosima::fastdds::rtps::DEFAULT_ROS2_SERVER_PORT
constexpr uint16_t DEFAULT_ROS2_SERVER_PORT
Definition RTPSParticipantAttributes.hpp:141
eprosima::fastdds::rtps::DEFAULT_TCP_SERVER_PORT
constexpr uint16_t DEFAULT_TCP_SERVER_PORT
Definition RTPSParticipantAttributes.hpp:143
eprosima::fastdds::rtps::DiscoveryProtocol
DiscoveryProtocol
PDP subclass choice.
Definition RTPSParticipantAttributes.hpp:69
eprosima::fastdds::rtps::DiscoveryProtocol::EXTERNAL
@ EXTERNAL
A user defined PDP subclass object must be provided in the attributes that deals with the discovery.
Definition RTPSParticipantAttributes.hpp:81
eprosima::fastdds::rtps::DiscoveryProtocol::SERVER
@ SERVER
The participant will behave as a server concerning discovery operation.
Definition RTPSParticipantAttributes.hpp:88
eprosima::fastdds::rtps::DiscoveryProtocol::NONE
@ NONE
NO discovery whatsoever would be used.
Definition RTPSParticipantAttributes.hpp:70
eprosima::fastdds::rtps::DiscoveryProtocol::BACKUP
@ BACKUP
The participant will behave as a server concerning discovery operation.
Definition RTPSParticipantAttributes.hpp:90
eprosima::fastdds::rtps::DiscoveryProtocol::SIMPLE
@ SIMPLE
Discovery works according to 'The Real-time Publish-Subscribe Protocol(RTPS) DDS Interoperability Wir...
Definition RTPSParticipantAttributes.hpp:76
eprosima::fastdds::rtps::DiscoveryProtocol::SUPER_CLIENT
@ SUPER_CLIENT
The participant will behave as a client concerning all internal behaviour.
Definition RTPSParticipantAttributes.hpp:92
eprosima::fastdds::rtps::DiscoveryProtocol::CLIENT
@ CLIENT
The participant will behave as a client concerning discovery operation.
Definition RTPSParticipantAttributes.hpp:86
eprosima::fastdds::rtps::ParticipantFilteringFlags
ParticipantFilteringFlags
Definition RTPSParticipantAttributes.hpp:148
eprosima::fastdds::rtps::FILTER_DIFFERENT_HOST
@ FILTER_DIFFERENT_HOST
Definition RTPSParticipantAttributes.hpp:150
eprosima::fastdds::rtps::NO_FILTER
@ NO_FILTER
Definition RTPSParticipantAttributes.hpp:149
eprosima::fastdds::rtps::FILTER_SAME_PROCESS
@ FILTER_SAME_PROCESS
Definition RTPSParticipantAttributes.hpp:152
eprosima::fastdds::rtps::FILTER_DIFFERENT_PROCESS
@ FILTER_DIFFERENT_PROCESS
Definition RTPSParticipantAttributes.hpp:151
eprosima::fastdds
eprosima
eProsima namespace.
eprosima::fastdds::rtps::BuiltinTransportsOptions
Options for configuring the built-in transports when using LARGE_DATA mode.
Definition BuiltinTransports.hpp:37
eprosima::fastdds::rtps::GuidPrefix_t
Structure GuidPrefix_t, Guid Prefix of GUID_t.
Definition GuidPrefix_t.hpp:37
eprosima::fastdds::rtps::InitialAnnouncementConfig
Struct InitialAnnouncementConfig defines the behavior of the RTPSParticipant initial announcements.
Definition RTPSParticipantAttributes.hpp:228
eprosima::fastdds::rtps::InitialAnnouncementConfig::period
dds::Duration_t period
Specific period for initial announcements (default 100ms).
Definition RTPSParticipantAttributes.hpp:233
eprosima::fastdds::rtps::InitialAnnouncementConfig::operator==
bool operator==(const InitialAnnouncementConfig &b) const
Definition RTPSParticipantAttributes.hpp:235
eprosima::fastdds::rtps::InitialAnnouncementConfig::count
uint32_t count
Number of initial announcements with specific period (default 5).
Definition RTPSParticipantAttributes.hpp:230
eprosima::fastdds::rtps::PDPFactory
Definition RTPSParticipantAttributes.hpp:162
eprosima::fastdds::rtps::PDPFactory::operator==
bool operator==(const struct PDPFactory &e) const
Definition RTPSParticipantAttributes.hpp:169
eprosima::fastdds::rtps::PDPFactory::ReleasePDPInstance
void(* ReleasePDPInstance)(PDP *)
Definition RTPSParticipantAttributes.hpp:166
eprosima::fastdds::rtps::PDPFactory::CreatePDPInstance
PDP *(* CreatePDPInstance)(BuiltinProtocols *)
Definition RTPSParticipantAttributes.hpp:164
eprosima::fastdds::rtps::ParticipantType
Struct to define participant types to set participant type parameter property.
Definition RTPSParticipantAttributes.hpp:50
eprosima::fastdds::rtps::ParticipantType::SIMPLE
static constexpr const char * SIMPLE
Definition RTPSParticipantAttributes.hpp:51
eprosima::fastdds::rtps::ParticipantType::CLIENT
static constexpr const char * CLIENT
Definition RTPSParticipantAttributes.hpp:53
eprosima::fastdds::rtps::ParticipantType::EXTERNAL
static constexpr const char * EXTERNAL
Definition RTPSParticipantAttributes.hpp:57
eprosima::fastdds::rtps::ParticipantType::UNKNOWN
static constexpr const char * UNKNOWN
Definition RTPSParticipantAttributes.hpp:58
eprosima::fastdds::rtps::ParticipantType::SUPER_CLIENT
static constexpr const char * SUPER_CLIENT
Definition RTPSParticipantAttributes.hpp:54
eprosima::fastdds::rtps::ParticipantType::SERVER
static constexpr const char * SERVER
Definition RTPSParticipantAttributes.hpp:52
eprosima::fastdds::rtps::ParticipantType::NONE
static constexpr const char * NONE
Definition RTPSParticipantAttributes.hpp:56
eprosima::fastdds::rtps::ParticipantType::BACKUP
static constexpr const char * BACKUP
Definition RTPSParticipantAttributes.hpp:55
eprosima::fastdds::rtps::RTPSParticipantAllocationAttributes
Holds allocation limits affecting collections managed by a participant.
Definition RTPSParticipantAllocationAttributes.hpp:129
eprosima::fastdds::rtps::ThreadSettings
Struct ThreadSettings to specify various thread settings.
Definition ThreadSettings.hpp:37