-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Mention rmw_specific_{pub,sub}_payload in rmw impl tutorial #5967
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
Mention rmw_specific_{pub,sub}_payload in rmw impl tutorial #5967
Conversation
Signed-off-by: Christophe Bedard <[email protected]>
|
@wjwwood Kyle pointed out that |
|
HTML artifacts: https://github.com/ros2/ros2_documentation/actions/runs/18665157929/artifacts/4321635935. To view the resulting site:
|
| To get around that and introduce some flexibility, some implementations use environment variables: ``RMW_FASTRTPS_*``, ``RMW_CONNEXT_*``, etc. | ||
| The ``rmw`` interface allows providing arbitrary implementation-specific configuration payloads for publishers and subscriptions through the type-erased ``rmw_specific_publisher_payload`` / ``rmw_specific_subscription_payload`` fields in ``rmw_publisher_options_t`` / ``rmw_subscription_options_t``. | ||
| This is set by users through ``RMWImplementationSpecificPublisherPayload`` / ``RMWImplementationSpecificSubscriptionPayload`` in ``rclcpp``, for example. | ||
| This is an advanced, non-portable feature that is not currently used by any (tier 1) implementations. |
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.
I thought it was interesting to point out that this is currently not used by any common/tier 1 implementation, just to discourage people from using it, but I'm open to removing that part of the sentence.
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.
IMO this can stay here as it is implemented. to be honest, i did not even know this interface to pass any payload to the rmw... thanks for pointing that out 👍
| To get around that and introduce some flexibility, some implementations use environment variables: ``RMW_FASTRTPS_*``, ``RMW_CONNEXT_*``, etc. | ||
| The ``rmw`` interface allows providing arbitrary implementation-specific configuration payloads for publishers and subscriptions through the type-erased ``rmw_specific_publisher_payload`` / ``rmw_specific_subscription_payload`` fields in ``rmw_publisher_options_t`` / ``rmw_subscription_options_t``. | ||
| This is set by users through ``RMWImplementationSpecificPublisherPayload`` / ``RMWImplementationSpecificSubscriptionPayload`` in ``rclcpp``, for example. | ||
| This is an advanced, non-portable feature that is not currently used by any (tier 1) implementations. |
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.
IMO this can stay here as it is implemented. to be honest, i did not even know this interface to pass any payload to the rmw... thanks for pointing that out 👍
Signed-off-by: Christophe Bedard <[email protected]> (cherry picked from commit 06de4e8)
Signed-off-by: Christophe Bedard <[email protected]> (cherry picked from commit 06de4e8)
Signed-off-by: Christophe Bedard <[email protected]> (cherry picked from commit 06de4e8)
…5968) (cherry picked from commit 06de4e8) Signed-off-by: Christophe Bedard <[email protected]> Co-authored-by: Christophe Bedard <[email protected]>
…5969) (cherry picked from commit 06de4e8) Signed-off-by: Christophe Bedard <[email protected]> Co-authored-by: Christophe Bedard <[email protected]>
…5970) (cherry picked from commit 06de4e8) Signed-off-by: Christophe Bedard <[email protected]> Co-authored-by: Christophe Bedard <[email protected]>
Description
Follow-up to #5927.
The general statement here about the interface not supporting passing arbitrary configurations wasn't entirely correct. See ros2/rclcpp#882.
This still doesn't mean that you can arbitrarily configure anything, since this is only for publishers/subscriptions, though.
Did you use Generative AI?
Additional Information