-
Notifications
You must be signed in to change notification settings - Fork 162
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 matching for lifecycle service types to support Opensplice #106
Conversation
I can confirm that this resolves the problem. |
Tested this and now instead of returning "node not found" it crashes:
@dhood Is this something you experienced when testing this change? I think it's worth fixing the reported type to not include the So I recommend fixing it in I'll try to submit a patch later today |
I am not sure if this is the right way to address the problem. Imo the underlying API needs to provide the same information across all rmw impl. otherwise all user level code has to handle the difference. Therefore I think this should be patched in |
Yeah, realising that what this API returns is representing ROS msg types as opposed to actual DDS type, it's reasonable to change that conversion layer without modifying the type sent on the wire. Sounds like @mikaelarguedas is on it |
Opened ros2/rmw_opensplice#234 with the fix I had in mind |
superseded by ros2/rmw_opensplice#234 |
@ironmig noticed that
ros2 service list
wasn't reporting Opensplice lifecycle nodes properly (e.g.ros2 run lifecycle lifecycle_talker
).The service name and type for opensplice that's reported by
get_service_names_and_types
is:I took a quick look at the opensplice typesupport, and it seems to be on purpose that we use samples vs msgs names so I assume that that is a requirement of opensplice's typesupport. As such this PR loosens the check to match it, rather than attempting to remove Sample_ from the type. It may very well be feasible to make
get_service_names_and_types
report the type without having Sample_ in it, but if so we can do that at a later date IMO.