ROS2 interaction with external event loops

Given the executor changes introduced with ROS2, what is the intended interaction with external event loops? Specifically, we’re working to migrate WHOIDSL ds_base which makes heavy use of the boost ASIO library. Is the intent in ROS2 to not use external event loops at all moving forward? Is there any documentation/processes/support for supporting external event loops with ROS2?


In short, I don’t think that there has been much thought about it. I think it would be a great thing to have, and may even be possible today. But we have no examples or documentation about how to do it.

If you do figure something out, we would definitely be happy to host some documentation on how to do it over in GitHub - ros2/ros2_documentation: ROS 2 docs repository

We have done this in ROS 1 for Boost asio and Qt.
On ROS 2, we have only published the Qt version.
We might have a draft for a Boost asio version for ROS 2 internally.