Skip to content

Add Callback Group Events Executor (Kilted Backport)#3164

Open
skyegalaxy wants to merge 5 commits into
kiltedfrom
skyegalaxy/kilted-cbg-exec-backport
Open

Add Callback Group Events Executor (Kilted Backport)#3164
skyegalaxy wants to merge 5 commits into
kiltedfrom
skyegalaxy/kilted-cbg-exec-backport

Conversation

@skyegalaxy
Copy link
Copy Markdown
Member

Description

Adds the Callback Group Events Executor introduced in #3097 to rclcpp mainline for Kilted. Also updates the executor tests with the new executor.

The following compatibility changes were needed:

  • Add get_clock to TimerBase. Ought to be an additive, non-virtual function which should not break ABI.
  • Remove the use of designated initializers, which is a C++20 feature
  • Adapted executor signatures (add_node, remove_node,
    add_callback_group, remove_callback_group) to pass by value (it was changed for lyrical in perf: Optimized out shared_ptr copies #3079)
  • Add new component_container_events_cbg executable which works similarly to the existing component_container_mt exec, allowing the passing of thread_num via ROS param

Is this user-facing behavior change?

Users will now be able to use the Callback Group Events Executor on Kilted.
Users will be able to use component containers with the Callback Group Events Executor on Kilted with the addition of component_container_events_cbg.

Did you use Generative AI?

Claude Opus 4.8 was used to cherry-pick the commits from #3163, applying only the ones that apply to kilted.

Additional Information

Skyler Medeiros added 5 commits June 5, 2026 10:45
Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>
Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>
Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>
Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>
Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>
@skyegalaxy skyegalaxy requested a review from jmachowinski June 5, 2026 18:11
@skyegalaxy skyegalaxy self-assigned this Jun 5, 2026
@skyegalaxy
Copy link
Copy Markdown
Member Author

Pulls: #3164
Gist: https://gist.githubusercontent.com/skyegalaxy/fec5f9b468d4fc72a68b657e7cabfbfa/raw/5cf353045c42fd8382b6e33e8606e9e5d3a6ea17/cbg_exec_kilted_backport.repos
BUILD args: --packages-above-and-dependencies rclcpp
TEST args: --packages-above rclcpp
ROS Distro: kilted
Job: ci_launcher
ci Launcher ran: https://ci.ros2.org/job/ci_launcher/19493/

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@skyegalaxy
Copy link
Copy Markdown
Member Author

skyegalaxy commented Jun 5, 2026

rhel CI failures are unrelated and known.
Rebuilding aarch64 once more, as there was a flaky rclcpp test (unrelated to these changes)

  • Linux-aarch64 Build Status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants