配置零副本借出消息

Loaned Messages 文章中详细介绍了借出消息的工作原理。

如何禁用借出消息

发布者

默认情况下,如果底层中间件支持 借出消息借出消息 将尝试从底层中间件借用内存。 ROS_DISABLE_LOANED_MESSAGES 环境变量可用于禁用 借出消息,并恢复到正常的发布者行为,而无需任何代码更改或中间件配置。 您可以使用以下命令设置环境变量:

export ROS_DISABLE_LOANED_MESSAGES=1

要在 shell 会话之间维护此设置,您可以将命令添加到 shell 启动脚本中:

echo "export ROS_DISABLE_LOANED_MESSAGES=1" >> ~/.bashrc

订阅

目前在订阅中使用 Loaned Messages 并不安全,请参阅 此问题 中的更多详细信息。 因此,默认情况下,Loaned Messages 在订阅时处于 禁用'' 状态,方法是 `默认将禁用贷款设置为开启 <https://github.com/ros2/rcl/pull/1110>`_ 即使底层中间件支持这一点。 要在订阅时启用 *Loaned Messages*,您需要将环境变量 ``ROS_DISABLE_LOANED_MESSAGES 明确设置为 0

export ROS_DISABLE_LOANED_MESSAGES=0

要在 shell 会话之间维护此设置,您可以将命令添加到 shell 启动脚本中:

echo "export ROS_DISABLE_LOANED_MESSAGES=0" >> ~/.bashrc