ros2 / rmw_dps

Implementation of the ROS Middleware (rmw) Interface using Intel's Distributed Publish & Subscribe.
Apache License 2.0
23 stars 8 forks source link

Fix unicast connection setup via discovery #44

Closed talih0 closed 4 years ago

talih0 commented 4 years ago

Fixes ticket #43

Currently the setup of unicast connections via discovery does not work with dps middleware in ROS2.

The issue is as follows: When a subscriber comes online it sends out a multicast discovery message. All the subscriber topics (bloom filter outputs) are merged in a union and sent out as an "interest" message.

When the multicast message is received by the publishing node, it checks whether any topic is in the set of the received interest. If a match is found a unicast connection is created and the published message is sent to the subscriber.

However at the moment, the publisher's bloom filter output takes into account wildcards whereas they are not considered in the subscriber. Thus the publishers bloom filter output will not be in the set of the subscriber's interests. Hence, the unicast connection is not created.

This commit sets the noWildCard option on the publishing nodes which fixes the above problem.

Signed-off-by: Andriy Gelman andriy.gelman@gmail.com