I our practices, we use the typical way of using node-level-cbg with a multi-threaded-executor adding many cbg(sub: cbg is 1:1), and there are many threads inside the executor.
But in your repo I see a noval design with many single-threaded-executor adding only one cbg(executor: sub: cbg is 1: 1: 1), and there are many executors which only spawn one thread.
I think both ways are multi-thread-subscription. What't the big difference between them, and your considerations about this design? Are you finding some issues about the typical usage of what I said above?
Hi, First I want to say this is a great work!
I our practices, we use the typical way of using node-level-cbg with a multi-threaded-executor adding many cbg(sub: cbg is 1:1), and there are many threads inside the executor.
But in your repo I see a noval design with many single-threaded-executor adding only one cbg(executor: sub: cbg is 1: 1: 1), and there are many executors which only spawn one thread.
I think both ways are multi-thread-subscription. What't the big difference between them, and your considerations about this design? Are you finding some issues about the typical usage of what I said above?
more info about node-level-cbg is here https://github.com/clalancette/executor_examples/tree/master/src more info about executor-level-cbg https://github.com/ros2/examples/tree/rolling/rclcpp/executors/cbg_executor
Thanks.