You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Clarify what QoS Settings can be configured via the XML.
This addresses issue: #500
Signed-off-by: Brian Soe <[email protected]>
Signed-off-by: EduPonz <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+30-7Lines changed: 30 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -60,27 +60,50 @@ If `RMW_FASTRTPS_PUBLICATION_MODE` is not set, then both `rmw_fastrtps_cpp` and
60
60
61
61
### Full QoS configuration
62
62
63
-
With `rmw_fastrtps`, it is possible to fully configure Fast DDS using an XML file as described in [Fast DDS documentation](https://fast-dds.docs.eprosima.com/en/latest/fastdds/xml_configuration/xml_configuration.html).
64
-
When configuring the middleware using XML files, there are certain points that have to be taken into account:
63
+
Fast DDS QoS policies can be fully configured through a combination of the [rmw QoS profile] API, and the [Fast DDS XML] file's QoS elements. Configuration depends on the environment variable `RMW_FASTRTPS_USE_QOS_FROM_XML`.
65
64
66
65
1. ROS 2 QoS contained in [`rmw_qos_profile_t`](http://docs.ros2.org/latest/api/rmw/structrmw__qos__profile__t.html) are always honored, unless set to `*_SYSTEM_DEFAULT`.
67
-
In that case, XML values, or Fast DDS default values in the absences of XML ones, are applied.
66
+
In that case, XML values, or Fast DDS default values in the absence of XML ones, are applied.
68
67
Setting any QoS in`rmw_qos_profile_t` to something other than `*_SYSTEM_DEFAULT` entails that specifying it via XML files has no effect, since they do not override what was used to create the publisher, subscription, service, or client.
69
68
1. In order to modify the history memory policy or publication mode using XML files, environment variable `RMW_FASTRTPS_USE_QOS_FROM_XML` must be set to 1 (it is set to 0 by default).
70
69
This tells `rmw_fastrtps` that it should override both the history memory policy and the publication mode using the XML.
71
70
Bear in mind that setting this environment variable but not setting either of these policies in the XML results in Fast DDS' defaults configurations being used.
| 0 (default) | Use default values | Ignored - overridden by `rmw_qos_profile_t` | Ignored - overrided by `rmw_fastrtps` |
75
+
| 0 (default) | Set to non system default | Ignored - overridden by `rmw_qos_profile_t` | Ignored - overrided by `rmw_fastrtps` |
76
+
| 0 (default) | Set to system default | Used | Ignored - overrided by `rmw_fastrtps` |
77
+
| 1 | Use default values | Ignored - overridden by `rmw_qos_profile_t` | Used |
78
+
| 1 | Set to non system default | Ignored - overridden by `rmw_qos_profile_t` | Used |
79
+
| 1 | Set to system default | Used | Used |
76
80
77
-
1. Setting `RMW_FASTRTPS_USE_QOS_FROM_XML` effectively overrides whatever configuration was set with `RMW_FASTRTPS_PUBLICATION_MODE`, setting the publication mode to Fast DDS' default publication mode unless specified otherwise using an XML file.
Note: Setting `RMW_FASTRTPS_USE_QOS_FROM_XML` to 1 effectively overrides whatever configuration was set with `RMW_FASTRTPS_PUBLICATION_MODE`.
87
+
Furthermore, If `RMW_FASTRTPS_USE_QOS_FROM_XML` is set to 1, and [history memory policy] or [publication mode] are not specified in the XML, then the Fast DDS' default configurations will be used:
0 commit comments