Skip to content

Commit 0af9262

Browse files
Improve mutation_tries documentation (#768) (#904)
* Refs #20934: Improve documentation Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Refs #20934: Apply internal rev suggestions Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Refs #20934: Update namespaces Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Refs #21580: Apply rev suggestions Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> * Refs #21580: Apply rev suggestions (2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> --------- Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> (cherry picked from commit 26b6700) # Conflicts: # code/DDSCodeTester.cpp # docs/fastdds/dds_layer/core/policy/eprosimaExtensions.rst Co-authored-by: Jesús Poderoso <120394830+JesusPoderoso@users.noreply.github.com>
1 parent fcda7a9 commit 0af9262

File tree

4 files changed

+35
-0
lines changed

4 files changed

+35
-0
lines changed

code/DDSCodeTester.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4240,6 +4240,8 @@ void dds_qos_examples()
42404240
WireProtocolConfigQos wire_protocol;
42414241
//Set the guid prefix
42424242
std::istringstream("72.61.73.70.66.61.72.6d.74.65.73.74") >> wire_protocol.prefix;
4243+
// Manually set the participantId
4244+
wire_protocol.participant_id = 11;
42434245
//Configure Builtin Attributes
42444246
wire_protocol.builtin.discovery_config.discoveryProtocol =
42454247
eprosima::fastrtps::rtps::DiscoveryProtocol_t::SERVER;
@@ -4272,6 +4274,8 @@ void dds_qos_examples()
42724274
wire_protocol.default_external_unicast_locators[1][0].push_back(external_locator);
42734275
// Drop non matching locators
42744276
wire_protocol.ignore_non_matching_locators = true;
4277+
// Increase mutation tries
4278+
wire_protocol.builtin.mutation_tries = 300u;
42754279
//!--
42764280
}
42774281

code/XMLTester.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3827,6 +3827,7 @@
38273827
<participant profile_name="UDP SERVER WP" is_default_profile="true">
38283828
<rtps>
38293829
<prefix>72.61.73.70.66.61.72.6d.74.65.73.74</prefix>
3830+
<participantID>11</participantID>
38303831
<builtin>
38313832
<discovery_config>
38323833
<discoveryProtocol>SERVER</discoveryProtocol>
@@ -3845,6 +3846,7 @@
38453846
<port>34567</port>
38463847
</udpv4>
38473848
</metatraffic_external_unicast_locators>
3849+
<mutation_tries>300</mutation_tries>
38483850
</builtin>
38493851
<defaultUnicastLocatorList>
38503852
<locator>

docs/fastdds/dds_layer/core/policy/eprosimaExtensions.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1204,6 +1204,16 @@ List of QoS Policy data members:
12041204
|BuiltinAttributes::discovery_config-api| within |WireProtocolConfigQos::builtin-api| (see
12051205
:ref:`DS_modify_server_list`).
12061206

1207+
.. note::
1208+
Deployments where multiple DomainParticipants are created within the same host can lead into denying
1209+
available ports for them if the amount of DomainParticipants created reaches the value of
1210+
:cpp:var:`BuiltinAttributes::mutation_tries<eprosima::fastdds::rtps::BuiltinAttributes::mutation_tries>`
1211+
(100 by default).
1212+
When that happens, the DomainParticipants will not be able to create the listening ports (this is notified
1213+
with a log warning) and will be created without unicast locators configured.
1214+
1215+
.. _wireprotocolconfigqos_example:
1216+
12071217
Example
12081218
"""""""
12091219

@@ -1263,3 +1273,7 @@ XML
12631273
:language: xml
12641274
:start-after: <!-->XML_WRITER_RESOURCE_LIMITS_QOS<-->
12651275
:end-before: <!--><-->
1276+
1277+
.. note::
1278+
For extended XML information, refer to :ref:`domainparticipantconfig` and :ref:`builtin` XML sections.
1279+

docs/fastdds/transport/listening_locators.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,10 @@ further configuring the :ref:`comm-transports-configuration`.
177177
(neither *unicast* nor *multicast*), *Fast DDS* enables one *unicast* Locator
178178
that will be used for peer-to-peer communication of :ref:`dds_layer_topic_topic` data.
179179

180+
* If the application does not define any **participantId**, *Fast DDS* will use the value given by the
181+
:ref:`dds_layer_domainParticipantFactory`, which will try always to provide the lowest available value per
182+
DomainParticipantFactory (per process).
183+
180184
For example, it is possible to prevent *multicast* traffic adding a single *metatraffic unicast* Locator
181185
as described in :ref:`transport_disableMulticast`.
182186

@@ -212,6 +216,17 @@ The values used in these rules are explained on the following table.
212216
The default values can be modified using the |WireProtocolConfigQos::port-api| member of the
213217
:ref:`wireprotocolconfigqos` on the :ref:`dds_layer_domainParticipantQos`.
214218

219+
.. note::
220+
221+
Deployments where multiple DomainParticipants are created within the same host can lead into denying
222+
available ports for them if the amount of DomainParticipants created reaches the value of
223+
:cpp:var:`BuiltinAttributes::mutation_tries<eprosima::fastdds::rtps::BuiltinAttributes::mutation_tries>`
224+
(100 by default).
225+
When that happens, the DomainParticipants will not be able to create the listening ports (this is notified
226+
with a log warning) and will be created without unicast locators configured.
227+
228+
Refer to :ref:`this example <wireprotocolconfigqos_example>` for configuring both the *mutation_tries* values.
229+
215230
.. list-table:: Values used in the rules to calculate well-known ports
216231
:header-rows: 1
217232

0 commit comments

Comments
 (0)