-
Notifications
You must be signed in to change notification settings - Fork 166
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
ROS_DISABLE_LOAN_MSG flag to disable LoanedMessage from rmw #945
Comments
I might be missing context, but what is the motivation in disabling loaned messages? |
@aprotyas fallback to normal publisher / subscription w/o any code change or rmw implementation specific configuration, if any issues happen to implementation. |
@ivanpauno @wjwwood @jacobperron what do you think about this? |
@fujitatomoya can this be closed now? |
we still need to work on docs but implementation has been merged. close this issue. |
we'd like to open discussion, any comments are welcome.
Feature request
Feature description
adding environmental flag to disable
LoanedMessage
inrcl
even if rmw implementation supports it. this is ROS general way to do that is agnostic from rmw implementation.once user set environmental variable
ROS_DISABLE_LOAN_MSG=1
in the process space,LoanedMessage
is disable gracefully. this allows user to disableLoanedMessage
and fallback tonormal
publisher / subscription w/o any code change or rmw implementation specific configuration.Implementation considerations
since this is ROS general switch to the middleware,
rcl
would be the best place to support.rcl_publisher_can_loan_messages
andrcl_subscription_can_loan_messages
checks environmental variableROS_DISABLE_LOAN_MSG
and return false immediately. this can conceal implementation feature for any frontend library such asrclcpp
.(just idea) thinking about
LoanedMessage
as rmw feature, we could haveROS_DISABLE_FEATURE_FLAG=0xBEEF
which bit fields map to the specific feature to disable. so that we can avoid having redundant flag in the future.The text was updated successfully, but these errors were encountered: