-
Notifications
You must be signed in to change notification settings - Fork 60
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
Enable private names for InteractiveMarkerServer #78
base: noetic-devel
Are you sure you want to change the base?
Conversation
Dont really get what fails there. Test all succeed on my end. Retrigger Ci maybe? |
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.
Looks reasonable, but testserver test fails.
Yeah i just dont get why 😅 |
This really fails on noetic but upstream also fails the tests. Broken upsteam:
Tests succeed on melodic
|
Whatever broke this (and upstream) is gone, no changes here |
While I like this cleanup in general, this is also a non-trivial interface change - potentially affecting many users. Hence, I am hesitant to merge this into a released distro. |
I think it would be best to avoid breaking behavior within an already released distro. Also, the API becomes a bit misleading, the "topic_ns" actually becomes the node's namespace. We are doing something similar in ROS 2: interactive_markers/src/interactive_marker_server.cpp Lines 63 to 64 in 27808d2
However, I think we can use private names with the ROS 2 implementation since we're passing in the node interfaces to the constructor. Having a separate topic namespace is still nice since it allows one node to create multiple interactive marker servers. |
For most use cases there should be no difference between upstream and this pull request as you create multiple servers in the same way e.g.
or not? Could you give me an example where the behavior is different? The ros2 interface is looking crazy 🙈 but adding additional Constructors e.g. (nh) and (nh, topic_ns) would be fine too. |
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.
Good question. I can't think of a counter-example where the behavior is different before/after this PR (besides allowing private namespaces). So maybe this PR is okay. However, I think it's still a bit misleading to call the parameter "topic_ns" when it is actually the node handle namespace. We might consider renaming it.
looks like I'm a bit late to the party. High level comment: please add unit tests for the added functionality, and perhaps tests that demonstrate that there are no unintended effects on the API |
remove topic_ns member and instead pass the parameter to the node_handle constructor
This enables to use Private Names e.g.
interactive_markers::InteractiveMarkerServer marker_server("~/name")