-
Notifications
You must be signed in to change notification settings - Fork 26
Add get_clients_info_by_service and get_servers_info_by_service #82
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
base: rolling
Are you sure you want to change the base?
Conversation
|
@Mergifyio rebase |
…oduce ServiceEntityInfo to handle service type hash in graph cache Signed-off-by: Minju, Lee <[email protected]>
✅ Branch has been successfully rebased |
e0858cd to
951bef1
Compare
|
Pulls: ros2/ros2cli#916, ros2/rmw#371, ros2/rmw_implementation#238, ros2/rmw_fastrtps#771, ros2/rmw_cyclonedds#499, ros2/rmw_connextdds#154, ros2/rcl#1161, ros2/rclcpp#2569, ros2/rclpy#1307, #82, ros2/rmw_zenoh#679 |
|
Pulls: ros2/ros2cli#916, ros2/rmw#371, ros2/rmw_implementation#238, ros2/rmw_fastrtps#771, ros2/rmw_cyclonedds#499, ros2/rmw_connextdds#154, ros2/rcl#1161, ros2/rclcpp#2569, ros2/rclpy#1307, #82, ros2/rmw_zenoh#679 |
Add
get_clients_info_by_serviceandget_servers_info_by_service; IntroduceServiceEntityInfoto handle service type hash in graph cacheDescription
This is the sub-process to support ros2/ros2cli#916 and originates from a comment in ros2/rmw#371 (comment).
Is this user-facing behavior change?
Yes, but the impact is limited. The
add_entityfunction has been extended to include an optionalservice_type_hashparameter with a default value of nullptr:At the rcl layer, this change is backward-compatible, so users do not need to modify their code. However, at the rclpy layer, refactoring is required due to the renaming of
TopicEndpointTypeEnumtoEndpointTypeEnumand associated file changes. The rclcpp layer is unaffected, as it already usesEndpointType.Did you use Generative AI?
Used for refining comments. (GPT-4o)
Additional Information
The following features were added.
get_clients_info_by_serviceandget_servers_info_by_serviceto the graph cache, which use reader and writer information from service request and reply topics to populate service endpoint information.ServiceEntityInfo, was introduced to manage service-related information in the graph cache, including theservice_type_hash. It is stored in astd::map<rmw_gid_t, ServiceEntityInfo, Compare_rmw_gid_t>with the entity GID, representing the reader and writer endpoints of the service, as the key.add_entity,add_reader, andadd_writerfunctions now accept aservice_type_hashpointer. When an entity is part of a service, this parameter must be provided. Theservice_type_hashis discovered during the DDS discovery process usingparse_sertype_hash_from_user_dataand encoded for QoS settings viaencode_sertype_hash_for_user_data_qos.