ROS1/ROS2 Bridge Design and Performance

We are performing some research and eventually testing to determine the effort to convert ROS1 nodes to ROS2 vs the performance of the bridge instead of porting the nodes.
I’ve been searching for a design description of the bridge and have not yet come up with anything. I did find this paper that which describes the testing and results of various ROS1 and ROS2 communication scenarios including using the bridge. I was wondering how the bridge is designed in order to determine how the bridge performs when there a many nodes on both side. Can multiple bridges be instantiated (multiple processes) with higher/lower priority topics divided and distributed across the multiple bridges to sort of ensure that higher priority topics get through the bridge(s) first? Or is it multi-threaded (guess I could dig into the code to figure that out)? If it is multi-thread it would be nice if the QoS configuration for each topic could play into the priority of a topic being sent to a thread.
Sorry, if I’m not clear and not using the correct ROS lingo but I’m very new to ROS1 and ROS2.

1 Like

Hmm, I see in the source that there is a static bridge that I guess one could compile specifically for a topic that needs immediate passing on publishing.
In the mean time, I’ll dig through dynamic bridge to find out if it is multi-threaded and how threads are allocated if it is.