Mikael/remove topic partitions#171
Conversation
| Trade-offs (in comparison to using the whole ROS name along with the namespaces): | ||
|
|
||
| - Splitting the ROS name into "namespace" and "base name", and placing the complete namespace into a single partition seemed un-natural. | ||
| - Splitting the ROS name into "namespace" and "base name", and placing the complete namespace into a field designed for another purpose seemed incorrect. |
There was a problem hiding this comment.
So I actually still think that we have to justify this statement more precisely. So one concrete reason why putting the namespace in a partition is incorrect is that the tuple of (partition, topic, type) has to be unique amongst a DDS environment. Fast-RTPS does not enforce this, however RTI does, hence the github issue below.
| - In general partitions are recommended to be used as a spare, but using partitions for all ROS names suggested otherwise. | ||
| - Major concern was reported in this [issue](https://github.com/ros2/rmw_connext/issues/234), where having two topics with same base name, although different namespace and different ypes caused problem. For example: topicA is `/camera/data` of type `Image` and topicB is `/imu/data` of type `Imu`. The base names for both topicA and topicB is `data`, generated errors as described in the [issue](https://github.com/ros2/rmw_connext/issues/234). | ||
| - Newer standards such as XRCE DDS might not have partitions at all. | ||
| - Major concern was reported in this [issue](https://github.com/ros2/rmw_connext/issues/234), where having two topics with same base name, although different namespace and different types caused problem. For example: topicA is `/camera/data` of type `Image` and topicB is `/imu/data` of type `Imu`. The base names for both topicA and topicB is `data`, generated errors as described in the [issue](https://github.com/ros2/rmw_connext/issues/234). |
There was a problem hiding this comment.
"... with the same base name ... caused a problem."
| Since ROS 2 topic and service names are expanded to fully qualified names, any balanced bracket (`{}`) substitutions and tildes (`~`) will have been expanded. | ||
| Additionally any URL related syntax, e.g. the `rostopic://` prefix, will be removed once parsed. | ||
| Previously forward slashes (`/`) were disallowed in DDS topic names, now the restriction has been lifted(see [issue](https://issues.omg.org/issues/lists/dds-rtf5#issue-42236) on omg.org) and therefore the ROS topic names are first prefixed with ROS Specific Namespace prefix (described below) are then mapped directly into DDS topic names. | ||
| Previously forward slashes (`/`) were disallowed in DDS topic names, now the restriction has been lifted (see [issue](https://issues.omg.org/issues/lists/dds-rtf5#issue-42236) on omg.org) and therefore the ROS topic names are first prefixed with ROS Specific Namespace prefix (described below) are then mapped directly into DDS topic names. |
There was a problem hiding this comment.
i'd remove now in the sentence.
|
feel free to merge if you want. |
|
Please feel free to edit directly on this branch 👍, I definitely don't have has much context as you |
|
Chatting with @Karsten1987 we concluded we'll merge this as is and iterate on #170 from there |
* removal of topic partitions, inital draft * Updated alternative strategy of using partitions * fixed suggestions, added limits for service_names * Mikael/remove topic partitions (#171) * unnecessary Now * XRCE DDS -> DDS-XRCE + link * try to make the sentence sound more naturel * attempt to clarify the 'un-natural' character of using partition * missing whitespace * avoid having same section and subsection title * highlight rti connext limitations
some minor fixups and wording suggestions.
I didn't address the pending comment on the original PR about providing example of mapping from ROS Service name to DDS Request/Reply topic names