-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update ROS node graph API #387
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Personally, I think this is a step backwards for the user facing API, because it makes it harder to consume when you care about the whole type and requires the user to manually concatenate the parts. Would it not be better to leave this API as-is and then provide a new API that gives it in parts, e.g. get_topic_names_and_split_types()
?
Another name might be |
Yeah, I was kind of feeling the same as I was writing this. I was just propagating the change from rmw (ros2/rmw#170).
This sounds like a better option. Still, the idea was to remove possible ambiguity from the type name (see ros2/design#220 and ros2/rmw_opensplice#263 (comment)) and so the concatenated string would be "pkg_name/namespace/TypeName". But I believe rviz is still expecting the form "pkg_name/TypeName"?
In the current IDL pipeline, I don't think it's possible for there to be more than three elements (I might be wrong). But I was proposing that there could be any number of parts to the namespace in ros2/design#220. This can still be discussed there and changed accordingly. |
That would be fine for me.
That's possible, but I'd prefer to see us move towards the new style (
I was just curious about this, if it needs to be a vector that's ok by me. |
Decided to keep the type as a I'm not sure what (if anything) needs to be done to handle cases when more than two parts are returned (ie. |
802c765
to
2a9ebac
Compare
If there are only two parts to a type name, log a warning and insert the 'msg' namespace. This is under the assumption that all plugins are supporting types in the 'msg' namespace. Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
2a9ebac
to
dfceae3
Compare
Ready for review. I've updated all of the default plugins to declare the type's full namespace (e.g. sensor_msgs/msg/Image). |
Signed-off-by: Jacob Perron <[email protected]>
I don't know why the macOS is showing unstable. There are no test failures, but some warnings produced when running the tests. The warnings are also on Linux, but it is green. I also checked locally that the warnings existed prior to the change introduced in this PR. |
@jacobperron if you have a moment can you add a note to https://index.ros.org/doc/ros2/Releases/Release-Dashing-Diademata/#changes-since-the-crystal-release about the need for plugins to update their plugin descriptions, otherwise they get a warning? |
The node function get_topic_names_and_types() now returns a vector for each type name
containing the parts of the fully qualified name.
Connects to ros2/ros2#677