Skip to content

Commit 927e097

Browse files
committed
Documented changes for Topic Profile Lookup
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
1 parent 00e1965 commit 927e097

3 files changed

Lines changed: 73 additions & 0 deletions

File tree

docs/rst/notes/forthcoming_version.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,17 @@
66
Forthcoming Version
77
###################
88

9+
This release includes the following **new features**:
10+
11+
* :ref:`XML Participant <user_manual_participants_xml>` now supports topic-name endpoint profile lookup:
12+
when creating a :term:`DataWriter` or :term:`DataReader` for a topic, a loaded XML profile whose name
13+
matches the topic name is automatically applied, giving users full control over QoS fields such as
14+
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.
16+
For more details, see :ref:`user_manual_participants_xml_topic_profiles`.
17+
18+
This release includes the following **documentation updates**:
19+
20+
* Document topic-name endpoint profile lookup for the :ref:`XML Participant <user_manual_participants_xml>`,
21+
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.

docs/rst/user_manual/configuration.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,15 @@ Under the **optional** tag ``raw``, an XML configuration (with the same format a
9090
These QoS should be configured by the user explicitly.
9191
Check :ref:`user_manual_participants_xml_profiles`.
9292

93+
Endpoint profiles
94+
-----------------
95+
96+
Profiles named after a topic are automatically applied to :term:`DataWriter` and :term:`DataReader` endpoints
97+
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.
100+
For more details, see :ref:`user_manual_participants_xml_topic_profiles`.
101+
93102
Topics Configuration
94103
====================
95104

docs/rst/user_manual/participants/xml.rst

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,56 @@ Notice that not setting such QoS will not affect the correct functionality of th
7474
</participant>
7575
7676
77+
.. _user_manual_participants_xml_topic_profiles:
78+
79+
Topic-name endpoint profile lookup
80+
-----------------------------------
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
84+
control over fields such as history, memory policy, transport, etc.
85+
If no matching profile exists, the endpoint falls back to default QoS with values derived from the YAML configuration.
86+
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+
91+
.. note::
92+
93+
Certain QoS are always enforced by the |ddsrouter| regardless of the XML profile or the ``xml-override`` setting:
94+
deadline on DataWriters (set to minimum so it matches any reader),
95+
``autodispose_unregistered_instances`` on DataWriters (set to ``false`` to preserve dispose/unregister forwarding semantics),
96+
and ``expects_inline_qos`` on DataReaders for keyed topics.
97+
98+
The following example loads a profile named ``my_topic`` that will be automatically applied when creating
99+
endpoints for a topic of that name:
100+
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+
113+
.. code-block:: xml
114+
115+
<dds>
116+
<profiles>
117+
<data_writer profile_name="my_topic">
118+
<historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
119+
</data_writer>
120+
<data_reader profile_name="my_topic">
121+
<historyMemoryPolicy>DYNAMIC</historyMemoryPolicy>
122+
</data_reader>
123+
</profiles>
124+
</dds>
125+
126+
77127
Repeater
78128
--------
79129

0 commit comments

Comments
 (0)