-
Notifications
You must be signed in to change notification settings - Fork 77
Description
Feature request
Feature description
Similar to previously added events like ros2/ros2#822 or on liveliness lost, it would be good to add support to on sample lost events (which might be really helpful when debugging communication issues).
For ROS, on message lost might be a more appropriate name.
For DDS based rmw implementations, implementing this should be pretty straightforward:
- Connext: sample lost status, data reader listener callbacks.
- FastRTPS: AFAIS, it's not supported yet: https://github.com/eProsima/Fast-RTPS/blob/8842bdd35bac66b731fe3f2f5e79fe7417355c4b/include/fastdds/rtps/reader/ReaderListener.h#L41.
- CycloneDDS: https://github.com/eclipse-cyclonedds/cyclonedds/blob/623b35d83b9d061187c816f37f4a92798f3b35d1/src/core/ddsc/include/dds/ddsc/dds_public_listener.h#L37.
Detailed list of tasks: #226 (comment)
Implementation considerations
For rmw implementations that don't support the feature, they can return RMW_RET_UNSUPPORTED, as for example fastrtps already does when the creation of an ON_*_INCOMPATIBLE_QOS event is requested.
DDS also support a status callback called on sample rejected. The difference with the previous one, is that this one reflects a reader not having resources to receive the sample and not a communication problem. I think it would be interesting to add support to that one too, maybe both can be wrapped in the same event?