15 #ifndef RCLCPP__EXECUTORS__STATIC_SINGLE_THREADED_EXECUTOR_HPP_
16 #define RCLCPP__EXECUTORS__STATIC_SINGLE_THREADED_EXECUTOR_HPP_
27 #include "rclcpp/executor.hpp"
28 #include "rclcpp/executors/static_executor_entities_collector.hpp"
29 #include "rclcpp/experimental/executable_list.hpp"
30 #include "rclcpp/macros.hpp"
31 #include "rclcpp/memory_strategies.hpp"
32 #include "rclcpp/node.hpp"
33 #include "rclcpp/rate.hpp"
34 #include "rclcpp/utilities.hpp"
35 #include "rclcpp/visibility_control.hpp"
98 spin_some(std::chrono::nanoseconds max_duration = std::chrono::nanoseconds(0))
override;
117 spin_all(std::chrono::nanoseconds max_duration)
override;
126 rclcpp::CallbackGroup::SharedPtr group_ptr,
127 rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr,
128 bool notify =
true)
override;
137 rclcpp::CallbackGroup::SharedPtr group_ptr,
138 bool notify =
true)
override;
147 rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr,
148 bool notify =
true)
override;
156 add_node(std::shared_ptr<rclcpp::Node> node_ptr,
bool notify =
true)
override;
165 rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr,
166 bool notify =
true)
override;
174 remove_node(std::shared_ptr<rclcpp::Node> node_ptr,
bool notify =
true)
override;
177 std::vector<rclcpp::CallbackGroup::WeakPtr>
185 std::vector<rclcpp::CallbackGroup::WeakPtr>
193 std::vector<rclcpp::CallbackGroup::WeakPtr>
208 spin_some_impl(std::chrono::nanoseconds max_duration,
bool exhaustive);
212 spin_once_impl(std::chrono::nanoseconds timeout)
override;
217 StaticExecutorEntitiesCollector::SharedPtr entities_collector_;
Coordinate the order and timing of available communication tasks.
Static executor implementation.
RCLCPP_PUBLIC void spin_some(std::chrono::nanoseconds max_duration=std::chrono::nanoseconds(0)) override
Static executor implementation of spin some.
RCLCPP_PUBLIC std::vector< rclcpp::CallbackGroup::WeakPtr > get_all_callback_groups() override
Get callback groups that belong to executor.
RCLCPP_PUBLIC void spin() override
Static executor implementation of spin.
RCLCPP_PUBLIC void add_callback_group(rclcpp::CallbackGroup::SharedPtr group_ptr, rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, bool notify=true) override
Add a callback group to an executor.
RCLCPP_PUBLIC std::vector< rclcpp::CallbackGroup::WeakPtr > get_manually_added_callback_groups() override
Get callback groups that belong to executor.
virtual RCLCPP_PUBLIC ~StaticSingleThreadedExecutor()
Default destrcutor.
RCLCPP_PUBLIC void spin_all(std::chrono::nanoseconds max_duration) override
Static executor implementation of spin all.
RCLCPP_PUBLIC void remove_node(rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, bool notify=true) override
Remove a node from the executor.
RCLCPP_PUBLIC bool execute_ready_executables(bool spin_once=false)
Executes ready executables from wait set.
RCLCPP_PUBLIC void add_node(rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, bool notify=true) override
Add a node to the executor.
RCLCPP_PUBLIC std::vector< rclcpp::CallbackGroup::WeakPtr > get_automatically_added_callback_groups_from_nodes() override
Get callback groups that belong to executor.
RCLCPP_PUBLIC void remove_callback_group(rclcpp::CallbackGroup::SharedPtr group_ptr, bool notify=true) override
Remove callback group from the executor.
RCLCPP_PUBLIC StaticSingleThreadedExecutor(const rclcpp::ExecutorOptions &options=rclcpp::ExecutorOptions())
Default constructor. See the default constructor for Executor.
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
Options to be passed to the executor constructor.