Skip to content

Conversation

@atsushi421
Copy link
Collaborator

@atsushi421 atsushi421 commented Jan 27, 2026

Description

Allow users to configure reentrant_parallelism, yield_before_execute, and next_exec_timeout parameters for MultiThreadedExecutorInternal used in reentrant callback groups.

  • CallbackIsolatedExecutor: parameters configurable via constructor arguments
  • ComponentManagerCallbackIsolated: parameters configurable via ROS parameters (reentrant_parallelism, yield_before_execute, next_exec_timeout_ns)

Related links

N/A

How was this PR tested?

  • Build passes
  • Verified reentrant_node_main runs correctly with parameterized executor

Notes for reviewers

N/A

Allow users to configure reentrant_parallelism, yield_before_execute,
and next_exec_timeout parameters when using MultiThreadedExecutorInternal
for reentrant callback groups.

- CallbackIsolatedExecutor: accept parameters via constructor arguments
- ComponentManagerCallbackIsolated: accept parameters via ROS parameters
  (reentrant_parallelism, yield_before_execute, next_exec_timeout_ns)
- Update sample application to demonstrate parameter usage
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR parameterizes the MultiThreadedExecutorInternal configuration by allowing users to configure reentrant_parallelism, yield_before_execute, and next_exec_timeout parameters for reentrant callback groups.

Changes:

  • Added constructor parameters to CallbackIsolatedExecutor for configuring reentrant executor behavior
  • Added ROS parameters to ComponentManagerCallbackIsolated for runtime configuration
  • Updated MultiThreadedExecutorInternal constructor to accept configuration parameters instead of hardcoded values

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
callback_isolated_executor/include/callback_isolated_executor/callback_isolated_executor.hpp Added constructor parameters and member variables for reentrant executor configuration
callback_isolated_executor/src/callback_isolated_executor.cpp Updated constructor and reentrant callback group spinning to use configurable parameters
callback_isolated_executor/include/callback_isolated_executor/multi_threaded_executor_internal.hpp Replaced hardcoded values with constructor parameters
callback_isolated_executor/src/component_container_callback_isolated.cpp Added ROS parameter declarations and usage for runtime configuration
cie_sample_application/src/reentrant_node_main.cpp Updated example to use new parameterized constructor

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Add default member initializers to CallbackIsolatedExecutor
- Validate reentrant_parallelism parameter is non-negative before casting
@atsushi421 atsushi421 requested a review from sykwer January 27, 2026 22:58
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