Skip to content

[23169] Documentation for the optional serialization of WireProtocolConfigQos #1068

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 21, 2025
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/DDSCodeTester.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -988,7 +988,7 @@ void dds_domain_examples()

pqos.properties().properties().emplace_back(
"fastdds.serialize_optional_qos",
"True");
"true"); // True or TRUE or 1
//!--
}
}
Expand Down
2 changes: 1 addition & 1 deletion code/XMLTester.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3305,7 +3305,7 @@
<properties>
<property>
<name>fastdds.serialize_optional_qos</name>
<value>True</value>
<value>true</value><!-- True, TRUE, 1 -->
</property>
</properties>
</propertiesPolicy>
Expand Down
16 changes: 10 additions & 6 deletions docs/fastdds/property_policies/non_consolidated_qos.rst
Original file line number Diff line number Diff line change
Expand Up @@ -480,31 +480,35 @@ The different property values have the following effects on the local |DomainPar
Adding optional QoS to Discovery data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

During the Endpoint Discovery Phase (EDP), |DataWriters-api| and |DataReaders-api| acknowledge each other.
During :ref:`discovery`, |DomainParticipants-api|, |DataWriters-api| and |DataReaders-api| acknowledge each other.
This is performed in two phases, the Participant Discovery Phase (PDP) and the Endpoint Discovery Phase (EDP).
To do that, the DomainParticipants share information about their DataWriters and DataReaders with each other,
using the communication channels established during the PDP.
using the communication channels established during the PDP phase.
This information contains all data required to match the endpoints, such as the |Topic-api|, data type, and
certain :ref:`QoS Policies <dds_layer_core_policy>` that might affect matching.
Specific compatibility rules can be found in each QoS section of :ref:`QoS Policies <dds_layer_core_policy>`.

However, there are some QoS that are not mandatory for matching, but can be useful to have in the EDP messages.
Property ``fastdds.serialize_optional_qos`` allows the user to include these optional QoS in the EDP messages.
However, there are some QoS that are not mandatory for matching, but can be useful to have upon discovery.
Property ``fastdds.serialize_optional_qos`` allows the user to include these optional QoS during discovery.
This property is configured at the |DomainParticipant-api| level through the policy :ref:`propertypolicyqos`.
Hence, all associated endpoints to that |DomainParticipant-api| will send their optional QoS in the EDP messages.
Hence, the |DomainParticipant-api| and all its associated endpoints will send their optional QoS
in the discovery messages.

Optional QoS, like any other QoS, will only be serialized if they have non-default values.
Not receiving information about a QoS in the EDP message means that it has a default value.
Optional QoS will be serialized if the value of the property is set to ``TRUE``, ``True``, ``true`` or ``1``, any
other value will be considered as not set or ``FALSE``.

The following table lists all the optional QoS that can be serialized in the EDP messages:
The following table lists all the optional QoS that can be serialized in the discovery messages:

.. list-table::
:header-rows: 1
:align: left

* - PropertyPolicyQos
- Applies to:
* - |WireProtocolConfigQos-api|
- |DomainParticipant-api|.
* - |ResourceLimitsQosPolicy-api|
- |DataWriter-api| and |DataReaders-api|.
* - |TransportPriorityQosPolicy-api|
Expand Down
60 changes: 30 additions & 30 deletions docs/fastdds/statistics/monitor_service/monitor_service_topics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,36 +28,36 @@ The possible values are described in the following table:

.. _monitoring_statuses:

+---------+-----------------------------+----------------------------------------------------+
|**Value**| **Name** | **Description** |
+---------+-----------------------------+----------------------------------------------------+
| 0 | ``ProxyInfo`` | Collection of Parameters describing the |
| | | ``Proxy Data`` of that entity |
+---------+-----------------------------+----------------------------------------------------+
| 1 | ``ConnectionList`` | List of connections that this entity is |
| | | using with its matched remote entities. |
+---------+-----------------------------+----------------------------------------------------+
| 2 | ``IncompatibleQoSInfo`` | Status of the Incompatible QoS |
| | | of that entity. |
+---------+-----------------------------+----------------------------------------------------+
| 3 | ``InconsistentTopicInfo`` | Status of Inconsistent topics that the |
| | | topic of that entity has. |
+---------+-----------------------------+----------------------------------------------------+
| 4 | ``LivelinessLostInfo`` | Tracks the status of the number of times |
| | | a writer lost liveliness. |
+---------+-----------------------------+----------------------------------------------------+
| 5 | ``LivelinessChangedInfo`` | Tracks the status of the number of times |
| | | the liveliness changed in a reader. |
+---------+-----------------------------+----------------------------------------------------+
| 6 | ``DeadlineMissedInfo`` | The Status of the number of deadlines |
| | | missed of a sample for that entity. |
+---------+-----------------------------+----------------------------------------------------+
| 7 | ``SampleLostInfo`` | Tracks the status of the number of times |
| | | this entity lost samples. |
+---------+-----------------------------+----------------------------------------------------+
| 8 | ``ExtendedIncompatibleQoS`` | Stores the list of remote incompatible ``GUIDs`` |
| | | and QoS policies for each local entity guid. |
+---------+-----------------------------+----------------------------------------------------+
+---------+-----------------------------+------------------------------------------------------+
|**Value**| **Name** | **Description** |
+---------+-----------------------------+------------------------------------------------------+
| 0 | ``ProxyInfo`` | Collection of Parameters describing the |
| | | ``Proxy Data`` of that entity. Contains optional qos.|
+---------+-----------------------------+------------------------------------------------------+
| 1 | ``ConnectionList`` | List of connections that this entity is |
| | | using with its matched remote entities. |
+---------+-----------------------------+------------------------------------------------------+
| 2 | ``IncompatibleQoSInfo`` | Status of the Incompatible QoS |
| | | of that entity. |
+---------+-----------------------------+------------------------------------------------------+
| 3 | ``InconsistentTopicInfo`` | Status of Inconsistent topics that the |
| | | topic of that entity has. |
+---------+-----------------------------+------------------------------------------------------+
| 4 | ``LivelinessLostInfo`` | Tracks the status of the number of times |
| | | a writer lost liveliness. |
+---------+-----------------------------+------------------------------------------------------+
| 5 | ``LivelinessChangedInfo`` | Tracks the status of the number of times |
| | | the liveliness changed in a reader. |
+---------+-----------------------------+------------------------------------------------------+
| 6 | ``DeadlineMissedInfo`` | The Status of the number of deadlines |
| | | missed of a sample for that entity. |
+---------+-----------------------------+------------------------------------------------------+
| 7 | ``SampleLostInfo`` | Tracks the status of the number of times |
| | | this entity lost samples. |
+---------+-----------------------------+------------------------------------------------------+
| 8 | ``ExtendedIncompatibleQoS`` | Stores the list of remote incompatible ``GUIDs`` |
| | | and QoS policies for each local entity guid. |
+---------+-----------------------------+------------------------------------------------------+

.. note::

Expand Down