Skip to content

Commit 9fad2d5

Browse files
committed
Updated docs changes to include the latest functionality changes
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
1 parent 21e1609 commit 9fad2d5

4 files changed

Lines changed: 46 additions & 24 deletions

File tree

docs/rst/notes/forthcoming_version.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ This release includes the following **new features**:
1212
when creating a :term:`DataWriter` or :term:`DataReader` for a topic, a loaded XML profile whose name
1313
matches the topic name is automatically applied, giving users full control over QoS fields such as
1414
history, memory policy and transport.
15-
A new optional ``xml-override`` tag allows the user to force YAML QoS to take precedence over a matching XML profile.
15+
A specific profile can also be selected per topic via the new ``endpoint-profile-name`` tag.
16+
A new optional ``endpoint-qos-mode`` participant tag controls whether YAML QoS overrides the matching
17+
XML profile (``xml-overridable``, default) or the profile is applied verbatim (``xml-standalone``).
1618
For more details, see :ref:`user_manual_participants_xml_topic_profiles`.
1719

1820
This release includes the following **documentation updates**:
1921

2022
* Document topic-name endpoint profile lookup for the :ref:`XML Participant <user_manual_participants_xml>`,
2123
including QoS fields always enforced by the *DDS Router* regardless of the profile.
22-
* Add *Endpoint Profiles* section to the :ref:`user_manual_configuration` page.
24+
* Add *Endpoint Profiles* section to the :ref:`user_manual_configuration` page.

docs/rst/spelling_wordlist.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Requiredness
4343
runtime
4444
scalable
4545
Tsan
46+
unregister
4647
utils
4748
validator
4849
Vulcanexus

docs/rst/user_manual/configuration.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,11 @@ Endpoint profiles
9595

9696
Profiles named after a topic are automatically applied to :term:`DataWriter` and :term:`DataReader` endpoints
9797
when they are created for that topic by an :ref:`XML Participant <user_manual_participants_xml>`.
98-
By default, when a matching profile is found, the YAML QoS configuration is ignored for that endpoint (XML takes priority).
99-
This behaviour can be changed via the xml-override tag on the participant.
98+
A specific profile can also be selected per topic via the ``endpoint-profile-name`` tag, instead of relying
99+
on the topic name.
100+
By default, QoS fields explicitly set in the YAML configuration override the matching XML profile's values
101+
(``endpoint-qos-mode: xml-overridable``); this can be changed to ``xml-standalone`` on the participant so the
102+
XML profile is applied verbatim.
100103
For more details, see :ref:`user_manual_participants_xml_topic_profiles`.
101104

102105
Topics Configuration

docs/rst/user_manual/participants/xml.rst

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -78,38 +78,23 @@ Notice that not setting such QoS will not affect the correct functionality of th
7878

7979
Topic-name endpoint profile lookup
8080
-----------------------------------
81-
When the XML Participant creates a DataWriter or DataReader for a topic, it looks for a loaded XML profile
82-
whose name matches the topic name.
83-
If a matching profile is found, the endpoint is configured using that profile's QoS, giving the user full
81+
When the XML Participant creates a DataWriter or DataReader for a topic, it looks for a loaded XML ``data_writer``
82+
or ``data_reader`` profile to configure that endpoint.
83+
By default, the |ddsrouter| looks for a profile **whose name matches the topic name**.
84+
If a matching profile is found, the endpoint is configured using that profile's QoS, giving the user
8485
control over fields such as history, memory policy, transport, etc.
8586
If no matching profile exists, the endpoint falls back to default QoS with values derived from the YAML configuration.
8687

87-
By default, when a matching XML profile is found, the YAML QoS configuration is ignored for that endpoint.
88-
This behaviour can be changed by setting the xml-override tag to true in the participant configuration.
89-
When enabled, the YAML QoS values (durability, reliability, ownership, history) will override those from the XML profile.
90-
9188
.. note::
9289

93-
Certain QoS are always enforced by the |ddsrouter| regardless of the XML profile or the ``xml-override`` setting:
90+
Certain QoS are always enforced by the |ddsrouter| regardless of the XML profile:
9491
deadline on DataWriters (set to minimum so it matches any reader),
9592
``autodispose_unregistered_instances`` on DataWriters (set to ``false`` to preserve dispose/unregister forwarding semantics),
9693
and ``expects_inline_qos`` on DataReaders for keyed topics.
9794

9895
The following example loads a profile named ``my_topic`` that will be automatically applied when creating
9996
endpoints for a topic of that name:
10097

101-
102-
**YAML**
103-
104-
.. code-block:: yaml
105-
106-
- name: xml_participant
107-
kind: xml
108-
xml-override: true
109-
110-
111-
**XML**
112-
11398
.. code-block:: xml
11499
115100
<dds>
@@ -123,6 +108,37 @@ endpoints for a topic of that name:
123108
</profiles>
124109
</dds>
125110
111+
Selecting a profile explicitly
112+
"""""""""""""""""""""""""""""""
113+
114+
Instead of relying on the topic name, a specific profile can be selected for a topic with the
115+
``endpoint-profile-name`` tag under that topic's QoS configuration.
116+
When set, the |ddsrouter| looks up the XML profile with that name instead of the topic name:
117+
118+
.. code-block:: yaml
119+
120+
topics:
121+
- name: "rt/chatter"
122+
qos:
123+
endpoint-profile-name: "my_reader_profile"
124+
125+
Overriding profile QoS from the YAML configuration
126+
"""""""""""""""""""""""""""""""""""""""""""""""""""
127+
128+
When a matching XML profile is applied, the QoS fields explicitly set by the user in the YAML
129+
configuration take precedence over the values in the XML profile.
130+
This behavior is controlled by the ``endpoint-qos-mode`` participant tag, which accepts two values:
131+
132+
* ``xml-overridable`` *(default)*: the XML profile is applied first, and any QoS field explicitly set in
133+
the YAML configuration overrides the corresponding value from the profile.
134+
* ``xml-standalone``: the XML profile is applied verbatim; YAML QoS does not override it.
135+
136+
.. code-block:: yaml
137+
138+
- name: xml_participant
139+
kind: xml
140+
endpoint-qos-mode: xml-standalone
141+
126142
127143
Repeater
128144
--------

0 commit comments

Comments
 (0)