Skip to content

Add rosidl buffer backend metadata to topic endpoint info#419

Open
nvcyc wants to merge 1 commit into
rollingfrom
nvcyc/buffer_backend_topic_info
Open

Add rosidl buffer backend metadata to topic endpoint info#419
nvcyc wants to merge 1 commit into
rollingfrom
nvcyc/buffer_backend_topic_info

Conversation

@nvcyc

@nvcyc nvcyc commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Description

Add rosidl buffer backend metadata to rmw_topic_endpoint_info_t so graph introspection APIs can carry backend support information for publishers and subscriptions.

Is this user-facing behavior change?

Yes. This enables higher-level ROS graph tools to expose buffer backend support information for topic endpoints.

Did you use Generative AI?

Yes. GPT-5.5 in Cursor was used to help draft changes in this pull request.

Additional Information

This PR only adds the RMW-level data model.
RMW implementations and client libraries need separate changes to populate and expose the metadata.

Signed-off-by: CY Chen <cyc@nvidia.com>
@Yadunund

Yadunund commented Jun 9, 2026

Copy link
Copy Markdown
Member

@nvcyc is there a test in ros2cli that we need to update as well?

See test failures across RMW impls: https://ci.ros2.org/job/ci_linux/29339/testReport/junit/ros2topic.ros2topic.test/test_cli/test_cli/

Comment on lines +48 to +49
/// Buffer backend metadata advertised for this endpoint
rcutils_string_map_t buffer_backend_metadata;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the struct previously held only const char * owning pointers, but it now holds a rcutils_string_map_t whose impl is a heap pointer with its own fini. any code path that copies an rmw_topic_endpoint_info_t by plain struct assignment or memcpy now aliases that impl between two structs.
the existing const char * members have the same hazard in principle, but the codebase already established a deep-copy discipline for strings.
i'd suggest a rmw_topic_endpoint_info deep-copy helper, or at minimum confirmation that no array/element copy in the current code and companion PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants