Skip to content

Commit 9465abd

Browse files
Improve mutation_tries documentation (#768) (#905)
* 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 ddf99ca commit 9465abd

File tree

4 files changed

+36
-1
lines changed

4 files changed

+36
-1
lines changed

code/DDSCodeTester.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -881,7 +881,7 @@ void dds_domain_examples()
881881
"true");
882882
//!--
883883
}
884-
884+
885885
{
886886
// MAX_MESSAGE_SIZE_PROPERTY_PARTICIPANT
887887
DomainParticipantQos pqos;
@@ -4176,6 +4176,8 @@ void dds_qos_examples()
41764176
WireProtocolConfigQos wire_protocol;
41774177
//Set the guid prefix
41784178
std::istringstream("72.61.73.70.66.61.72.6d.74.65.73.74") >> wire_protocol.prefix;
4179+
// Manually set the participantId
4180+
wire_protocol.participant_id = 11;
41794181
//Configure Builtin Attributes
41804182
wire_protocol.builtin.discovery_config.discoveryProtocol =
41814183
eprosima::fastrtps::rtps::DiscoveryProtocol_t::SERVER;
@@ -4208,6 +4210,8 @@ void dds_qos_examples()
42084210
wire_protocol.default_external_unicast_locators[1][0].push_back(external_locator);
42094211
// Drop non matching locators
42104212
wire_protocol.ignore_non_matching_locators = true;
4213+
// Increase mutation tries
4214+
wire_protocol.builtin.mutation_tries = 300u;
42114215
//!--
42124216
}
42134217

code/XMLTester.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3347,6 +3347,7 @@
33473347
<participant profile_name="UDP SERVER WP" is_default_profile="true">
33483348
<rtps>
33493349
<prefix>72.61.73.70.66.61.72.6d.74.65.73.74</prefix>
3350+
<participantID>11</participantID>
33503351
<builtin>
33513352
<discovery_config>
33523353
<discoveryProtocol>SERVER</discoveryProtocol>
@@ -3365,6 +3366,7 @@
33653366
<port>34567</port>
33663367
</udpv4>
33673368
</metatraffic_external_unicast_locators>
3369+
<mutation_tries>300</mutation_tries>
33683370
</builtin>
33693371
<defaultUnicastLocatorList>
33703372
<locator>

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

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

1069+
.. note::
1070+
Deployments where multiple DomainParticipants are created within the same host can lead into denying
1071+
available ports for them if the amount of DomainParticipants created reaches the value of
1072+
:cpp:var:`BuiltinAttributes::mutation_tries<eprosima::fastdds::rtps::BuiltinAttributes::mutation_tries>`
1073+
(100 by default).
1074+
When that happens, the DomainParticipants will not be able to create the listening ports (this is notified
1075+
with a log warning) and will be created without unicast locators configured.
1076+
1077+
.. _wireprotocolconfigqos_example:
1078+
10691079
Example
10701080
"""""""
10711081

@@ -1125,3 +1135,7 @@ XML
11251135
:language: xml
11261136
:start-after: <!-->XML_WRITER_RESOURCE_LIMITS_QOS<-->
11271137
:end-before: <!--><-->
1138+
1139+
.. note::
1140+
For extended XML information, refer to :ref:`domainparticipantconfig` and :ref:`builtin` XML sections.
1141+

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)