The upcoming ROS 2 iron release introduces a nice debug feature for observing the flow of messages between a client and service. REP-2012 describes this feature known as Service Introspection. See #905 for additional links to other resources such as rcl.
You can use the ros2cli to observe service events when configured for either a server or client:
example: `ros2 topic echo /add_two_ints/_service_event
Also note that the service event msg definitions are created implicitly in the idl processing flow. Thus there is no explicit _Event.msg definition for the rclnodejs message generation process to work with. Thus, the message-generation process was modified to generate service event message interface, e.g., example_interfacessrvAddTwoInts_Event.js
@wayneparrott thanks for the quick action to catch up on the changes from rolling, as this is a pretty big PR, I may take some time to review it, thanks for your contribution!
The upcoming ROS 2 iron release introduces a nice debug feature for observing the flow of messages between a client and service. REP-2012 describes this feature known as Service Introspection. See #905 for additional links to other resources such as rcl.
You can use the ros2cli to observe service events when configured for either a server or client:
example: `ros2 topic echo /add_two_ints/_service_event
Also note that the service event msg definitions are created implicitly in the idl processing flow. Thus there is no explicit_Event.msg definition for the rclnodejs message generation process to work with. Thus, the message-generation process was modified to generate service event message interface, e.g., example_interfacessrvAddTwoInts_Event.js
Key changes include:
rcl_bindings.cpp *add ConfigureServiceIntrospection()
service.js and client.js
message generation
tsd generation
Fix #905