With the new publishImpl and subscribeImpl interface, the rclcpp::Node handle has been replaced with the more generic image_transport::RequiredInterfaces, which is generally nice but also has the side effect that a number of node interfaces are no longer accessible from plugins, namely the clock interface, the graph interface and the waitables interfaces, all of which I have been using in the rtsp_image_transport plugin.
For the latest ROS release, I can still use the deprecated interface to get a fully functional node interface, but this legacy interface has been removed in ROS rolling already. So, what is the reasoning behind the current set of "required" interfaces? Could this be further extended in the interest of backwards compatibility with existing plugins?
With the new
publishImplandsubscribeImplinterface, therclcpp::Nodehandle has been replaced with the more genericimage_transport::RequiredInterfaces, which is generally nice but also has the side effect that a number of node interfaces are no longer accessible from plugins, namely the clock interface, the graph interface and the waitables interfaces, all of which I have been using in the rtsp_image_transport plugin.For the latest ROS release, I can still use the deprecated interface to get a fully functional node interface, but this legacy interface has been removed in ROS rolling already. So, what is the reasoning behind the current set of "required" interfaces? Could this be further extended in the interest of backwards compatibility with existing plugins?