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
Negotiated publisher holds a callback to trigger additional negotiation when it detects a change in graph in terms of the list of negotiated subscriber connected to the same topic. The list is based on ROS pub/sub internal GIDs.
A GID is recorded here when a negotiated subscriber is connected:
In rmw_fastrtps_cpp GIDs obtained from these two methods are identical, but they are different when using rmw_cyclonedds_cpp, which causes the algorithm to think that a negotiated has been removed and hence removing all negotiated results. As a result, negotiation can fail in rmw_cyclonedds_cpp when it should be successful.
The text was updated successfully, but these errors were encountered:
Negotiated publisher holds a callback to trigger additional negotiation when it detects a change in graph in terms of the list of negotiated subscriber connected to the same topic. The list is based on ROS pub/sub internal GIDs.
A GID is recorded here when a negotiated subscriber is connected:
negotiated/negotiated/src/negotiated_publisher.cpp
Lines 498 to 501 in eac198b
It gets a GID in a different way to check if a connected negotiated subscriber (more precisely, its negotiation publisher) is already existed here:
negotiated/negotiated/src/negotiated_publisher.cpp
Lines 389 to 393 in eac198b
In
rmw_fastrtps_cpp
GIDs obtained from these two methods are identical, but they are different when usingrmw_cyclonedds_cpp
, which causes the algorithm to think that a negotiated has been removed and hence removing all negotiated results. As a result, negotiation can fail inrmw_cyclonedds_cpp
when it should be successful.The text was updated successfully, but these errors were encountered: