Support for DDS on_inconsistent_topic topic listener callback #3168
Replies: 4 comments 2 replies
-
Hi @clalancette , as documented here, as of Fast DDS v2.9.0, Thanks! |
Beta Was this translation helpful? Give feedback.
-
Related to ros2/ros2#1361 |
Beta Was this translation helpful? Give feedback.
-
@clalancette I have a PoC you can test on this branch |
Beta Was this translation helpful? Give feedback.
-
@clalancette Fast DDS is not sending type information on the discovery by default (yet), so you should check with different type names. |
Beta Was this translation helpful? Give feedback.
-
Is there an already existing issue for this?
Expected behavior
DDS 1.4, 2.2.4.3 allows for an "inconsistent topic" callback to be called when a topic with the same name but different characteristics is detected.
In Fast-DDS, this callback can be set using the Topic Listener class https://github.com/eProsima/Fast-DDS/blob/master/include/fastdds/dds/topic/TopicListener.hpp . However, nothing in the implementation will ever call that callback. That was determined both through code inspection, and also through empirical testing using https://github.com/clalancette/dds_experimentation/tree/clalancette/cleanups/fastdds/HelloWorldExample .
It would be great if Fast-DDS would finish up support for this so we can get these callbacks at the ROS 2 layer.
Current behavior
The
on_inconsistent_topic
callback can be registered, but will never be called.Steps to reproduce
mkdir build ; cd build ; cmake .. -DV1TYPE=T1 -DV2TYPE=T1 -DV3TYPE=T1 ; make
./HelloWorldSubscriber v1
mkdir build ; cd build ; cmake .. -DV1TYPE=T3 -DV2TYPE=T1 -DV3TYPE=T1 ; make
./HelloWorldPublisher v1
Fast DDS version/commit
Commit bffc876
Platform/Architecture
Ubuntu Focal 20.04 amd64
Transport layer
UDPv4
Additional context
Related to ros2/ros2#1361
XML configuration file
No response
Relevant log output
No response
Network traffic capture
No response
Beta Was this translation helpful? Give feedback.
All reactions