|
| MultiThreadedExecutor (const rclcpp::ExecutorOptions &options=rclcpp::ExecutorOptions(), size_t number_of_threads=0, bool yield_before_execute=false, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(-1)) |
| Constructor for MultiThreadedExecutor. More...
|
|
virtual | ~MultiThreadedExecutor () |
|
void | spin () override |
|
size_t | get_number_of_threads () |
|
| Executor (const rclcpp::ExecutorOptions &options=rclcpp::ExecutorOptions()) |
| Default constructor. More...
|
|
virtual | ~Executor () |
| Default destructor. More...
|
|
virtual void | add_callback_group (rclcpp::CallbackGroup::SharedPtr group_ptr, rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, bool notify=true) |
| Add a callback group to an executor. More...
|
|
virtual std::vector< rclcpp::CallbackGroup::WeakPtr > | get_all_callback_groups () |
| Get callback groups that belong to executor. More...
|
|
virtual std::vector< rclcpp::CallbackGroup::WeakPtr > | get_manually_added_callback_groups () |
| Get callback groups that belong to executor. More...
|
|
virtual std::vector< rclcpp::CallbackGroup::WeakPtr > | get_automatically_added_callback_groups_from_nodes () |
| Get callback groups that belong to executor. More...
|
|
virtual void | remove_callback_group (rclcpp::CallbackGroup::SharedPtr group_ptr, bool notify=true) |
| Remove a callback group from the executor. More...
|
|
virtual void | add_node (rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, bool notify=true) |
| Add a node to the executor. More...
|
|
virtual void | add_node (std::shared_ptr< rclcpp::Node > node_ptr, bool notify=true) |
| Convenience function which takes Node and forwards NodeBaseInterface. More...
|
|
virtual void | remove_node (rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, bool notify=true) |
| Remove a node from the executor. More...
|
|
virtual void | remove_node (std::shared_ptr< rclcpp::Node > node_ptr, bool notify=true) |
| Convenience function which takes Node and forwards NodeBaseInterface. More...
|
|
template<typename RepT = int64_t, typename T = std::milli> |
void | spin_node_once (rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node, std::chrono::duration< RepT, T > timeout=std::chrono::duration< RepT, T >(-1)) |
| Add a node to executor, execute the next available unit of work, and remove the node. More...
|
|
template<typename NodeT = rclcpp::Node, typename RepT = int64_t, typename T = std::milli> |
void | spin_node_once (std::shared_ptr< NodeT > node, std::chrono::duration< RepT, T > timeout=std::chrono::duration< RepT, T >(-1)) |
| Convenience function which takes Node and forwards NodeBaseInterface. More...
|
|
void | spin_node_some (rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node) |
| Add a node, complete all immediately available work, and remove the node. More...
|
|
void | spin_node_some (std::shared_ptr< rclcpp::Node > node) |
| Convenience function which takes Node and forwards NodeBaseInterface. More...
|
|
virtual void | spin_some (std::chrono::nanoseconds max_duration=std::chrono::nanoseconds(0)) |
| Collect work once and execute all available work, optionally within a duration. More...
|
|
virtual void | spin_all (std::chrono::nanoseconds max_duration) |
| Collect and execute work repeatedly within a duration or until no more work is available. More...
|
|
virtual void | spin_once (std::chrono::nanoseconds timeout=std::chrono::nanoseconds(-1)) |
|
template<typename FutureT , typename TimeRepT = int64_t, typename TimeT = std::milli> |
FutureReturnCode | spin_until_future_complete (const FutureT &future, std::chrono::duration< TimeRepT, TimeT > timeout=std::chrono::duration< TimeRepT, TimeT >(-1)) |
| Spin (blocking) until the future is complete, it times out waiting, or rclcpp is interrupted. More...
|
|
void | cancel () |
| Cancel any running spin* function, causing it to return. More...
|
|
void | set_memory_strategy (memory_strategy::MemoryStrategy::SharedPtr memory_strategy) |
| Support dynamic switching of the memory strategy. More...
|
|
|
void | run (size_t this_thread_number) |
|
void | spin_node_once_nanoseconds (rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node, std::chrono::nanoseconds timeout) |
|
void | spin_some_impl (std::chrono::nanoseconds max_duration, bool exhaustive) |
|
void | execute_any_executable (AnyExecutable &any_exec) |
| Find the next available executable and do the work associated with it. More...
|
|
void | wait_for_work (std::chrono::nanoseconds timeout=std::chrono::nanoseconds(-1)) |
|
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr | get_node_by_group (const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes, rclcpp::CallbackGroup::SharedPtr group) |
|
bool | has_node (const rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) const |
| Return true if the node has been added to this executor. More...
|
|
rclcpp::CallbackGroup::SharedPtr | get_group_by_timer (rclcpp::TimerBase::SharedPtr timer) |
|
virtual void | add_callback_group_to_map (rclcpp::CallbackGroup::SharedPtr group_ptr, rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, WeakCallbackGroupsToNodesMap &weak_groups_to_nodes, bool notify=true) RCPPUTILS_TSA_REQUIRES(mutex_) |
| Add a callback group to an executor. More...
|
|
virtual void | remove_callback_group_from_map (rclcpp::CallbackGroup::SharedPtr group_ptr, WeakCallbackGroupsToNodesMap &weak_groups_to_nodes, bool notify=true) RCPPUTILS_TSA_REQUIRES(mutex_) |
| Remove a callback group from the executor. More...
|
|
bool | get_next_ready_executable (AnyExecutable &any_executable) |
|
bool | get_next_ready_executable_from_map (AnyExecutable &any_executable, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
|
bool | get_next_executable (AnyExecutable &any_executable, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(-1)) |
|
virtual void | add_callback_groups_from_nodes_associated_to_executor () RCPPUTILS_TSA_REQUIRES(mutex_) |
| Add all callback groups that can be automatically added from associated nodes. More...
|
|
memory_strategy::MemoryStrategy::SharedPtr memory_strategy_ | RCPPUTILS_TSA_PT_GUARDED_BY (mutex_) |
| The memory strategy: an interface for handling user-defined memory allocation strategies. More...
|
|
virtual void | spin_once_impl (std::chrono::nanoseconds timeout) |
|
WeakNodesToGuardConditionsMap weak_nodes_to_guard_conditions_ | RCPPUTILS_TSA_GUARDED_BY (mutex_) |
| maps nodes to guard conditions More...
|
|
WeakCallbackGroupsToNodesMap weak_groups_associated_with_executor_to_nodes_ | RCPPUTILS_TSA_GUARDED_BY (mutex_) |
| maps callback groups associated to nodes More...
|
|
WeakCallbackGroupsToNodesMap weak_groups_to_nodes_associated_with_executor_ | RCPPUTILS_TSA_GUARDED_BY (mutex_) |
| maps callback groups to nodes associated with executor More...
|
|
WeakCallbackGroupsToNodesMap weak_groups_to_nodes_ | RCPPUTILS_TSA_GUARDED_BY (mutex_) |
| maps all callback groups to nodes More...
|
|
std::list< rclcpp::node_interfaces::NodeBaseInterface::WeakPtr > weak_nodes_ | RCPPUTILS_TSA_GUARDED_BY (mutex_) |
| nodes that are associated with the executor More...
|
|