rclcpp
master
C++ ROS Client Library API
|
#include <static_executor_entities_collector.hpp>
Public Member Functions | |
StaticExecutorEntitiesCollector ()=default | |
~StaticExecutorEntitiesCollector () | |
void | init (rcl_wait_set_t *p_wait_set, rclcpp::memory_strategy::MemoryStrategy::SharedPtr memory_strategy, rcl_guard_condition_t *executor_guard_condition) |
Initialize StaticExecutorEntitiesCollector. More... | |
bool | is_init () |
Finalize StaticExecutorEntitiesCollector to clear resources. More... | |
void | fini () |
void | execute (std::shared_ptr< void > &data) override |
Execute the waitable. More... | |
std::shared_ptr< void > | take_data () override |
Take the data so that it can be consumed with execute . More... | |
void | refresh_wait_set (std::chrono::nanoseconds timeout=std::chrono::nanoseconds(-1)) |
Function to add_handles_to_wait_set and wait for work and. More... | |
bool | add_to_wait_set (rcl_wait_set_t *wait_set) override |
size_t | get_number_of_ready_guard_conditions () override |
Get the number of ready guard_conditions. More... | |
bool | add_callback_group (rclcpp::CallbackGroup::SharedPtr group_ptr, rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr) |
Add a callback group to an executor. More... | |
bool | add_callback_group (rclcpp::CallbackGroup::SharedPtr group_ptr, rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr, WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
Add a callback group to an executor. More... | |
bool | remove_callback_group (rclcpp::CallbackGroup::SharedPtr group_ptr) |
Remove a callback group from the executor. More... | |
bool | remove_callback_group_from_map (rclcpp::CallbackGroup::SharedPtr group_ptr, WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
Remove a callback group from the executor. More... | |
bool | add_node (rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr) |
bool | remove_node (rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr) |
std::vector< rclcpp::CallbackGroup::WeakPtr > | get_all_callback_groups () |
std::vector< rclcpp::CallbackGroup::WeakPtr > | get_manually_added_callback_groups () |
Get callback groups that belong to executor. More... | |
std::vector< rclcpp::CallbackGroup::WeakPtr > | get_automatically_added_callback_groups_from_nodes () |
Get callback groups that belong to executor. More... | |
bool | is_ready (rcl_wait_set_t *wait_set) override |
Complete all available queued work without blocking. More... | |
size_t | get_number_of_timers () |
Return number of timers. More... | |
size_t | get_number_of_subscriptions () |
Return number of subscriptions. More... | |
size_t | get_number_of_services () |
Return number of services. More... | |
size_t | get_number_of_clients () |
Return number of clients. More... | |
size_t | get_number_of_waitables () |
Return number of waitables. More... | |
rclcpp::SubscriptionBase::SharedPtr | get_subscription (size_t i) |
rclcpp::TimerBase::SharedPtr | get_timer (size_t i) |
rclcpp::ServiceBase::SharedPtr | get_service (size_t i) |
rclcpp::ClientBase::SharedPtr | get_client (size_t i) |
rclcpp::Waitable::SharedPtr | get_waitable (size_t i) |
Public Member Functions inherited from rclcpp::Waitable | |
virtual | ~Waitable ()=default |
virtual size_t | get_number_of_ready_subscriptions () |
Get the number of ready subscriptions. More... | |
virtual size_t | get_number_of_ready_timers () |
Get the number of ready timers. More... | |
virtual size_t | get_number_of_ready_clients () |
Get the number of ready clients. More... | |
virtual size_t | get_number_of_ready_events () |
Get the number of ready events. More... | |
virtual size_t | get_number_of_ready_services () |
Get the number of ready services. More... | |
bool | exchange_in_use_by_wait_set_state (bool in_use_state) |
Exchange the "in use by wait set" state for this timer. More... | |
Public Member Functions inherited from std::enable_shared_from_this< StaticExecutorEntitiesCollector > | |
T | enable_shared_from_this (T... args) |
T | operator= (T... args) |
T | shared_from_this (T... args) |
T | ~enable_shared_from_this (T... args) |
|
default |
rclcpp::executors::StaticExecutorEntitiesCollector::~StaticExecutorEntitiesCollector | ( | ) |
void rclcpp::executors::StaticExecutorEntitiesCollector::init | ( | rcl_wait_set_t * | p_wait_set, |
rclcpp::memory_strategy::MemoryStrategy::SharedPtr | memory_strategy, | ||
rcl_guard_condition_t * | executor_guard_condition | ||
) |
Initialize StaticExecutorEntitiesCollector.
p_wait_set | A reference to the wait set to be used in the executor |
memory_strategy | Shared pointer to the memory strategy to set. |
executor_guard_condition | executor's guard condition |
std::runtime_error | if memory strategy is null |
|
inline |
Finalize StaticExecutorEntitiesCollector to clear resources.
void rclcpp::executors::StaticExecutorEntitiesCollector::fini | ( | ) |
|
overridevirtual |
Execute the waitable.
Implements rclcpp::Waitable.
|
overridevirtual |
Take the data so that it can be consumed with execute
.
For StaticExecutorEntitiesCollector
, this always return nullptr
.
Implements rclcpp::Waitable.
void rclcpp::executors::StaticExecutorEntitiesCollector::refresh_wait_set | ( | std::chrono::nanoseconds | timeout = std::chrono::nanoseconds(-1) | ) |
Function to add_handles_to_wait_set and wait for work and.
block until the wait set is ready or until the timeout has been exceeded.
std::runtime_error | if wait set couldn't be cleared or filled. |
any | rcl errors from rcl_wait, |
|
overridevirtual |
std::runtime_error | if it couldn't add guard condition to wait set |
Implements rclcpp::Waitable.
|
overridevirtual |
Get the number of ready guard_conditions.
Returns a value of 0 by default. This should be overridden if the Waitable contains one or more guard_conditions.
Reimplemented from rclcpp::Waitable.
bool rclcpp::executors::StaticExecutorEntitiesCollector::add_callback_group | ( | rclcpp::CallbackGroup::SharedPtr | group_ptr, |
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr | node_ptr | ||
) |
Add a callback group to an executor.
bool rclcpp::executors::StaticExecutorEntitiesCollector::add_callback_group | ( | rclcpp::CallbackGroup::SharedPtr | group_ptr, |
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr | node_ptr, | ||
WeakCallbackGroupsToNodesMap & | weak_groups_to_nodes | ||
) |
Add a callback group to an executor.
bool rclcpp::executors::StaticExecutorEntitiesCollector::remove_callback_group | ( | rclcpp::CallbackGroup::SharedPtr | group_ptr | ) |
Remove a callback group from the executor.
bool rclcpp::executors::StaticExecutorEntitiesCollector::remove_callback_group_from_map | ( | rclcpp::CallbackGroup::SharedPtr | group_ptr, |
WeakCallbackGroupsToNodesMap & | weak_groups_to_nodes | ||
) |
Remove a callback group from the executor.
bool rclcpp::executors::StaticExecutorEntitiesCollector::add_node | ( | rclcpp::node_interfaces::NodeBaseInterface::SharedPtr | node_ptr | ) |
std::runtime_error | if node was already added |
bool rclcpp::executors::StaticExecutorEntitiesCollector::remove_node | ( | rclcpp::node_interfaces::NodeBaseInterface::SharedPtr | node_ptr | ) |
std::runtime_error | if no guard condition is associated with node. |
std::vector<rclcpp::CallbackGroup::WeakPtr> rclcpp::executors::StaticExecutorEntitiesCollector::get_all_callback_groups | ( | ) |
std::vector<rclcpp::CallbackGroup::WeakPtr> rclcpp::executors::StaticExecutorEntitiesCollector::get_manually_added_callback_groups | ( | ) |
Get callback groups that belong to executor.
std::vector<rclcpp::CallbackGroup::WeakPtr> rclcpp::executors::StaticExecutorEntitiesCollector::get_automatically_added_callback_groups_from_nodes | ( | ) |
Get callback groups that belong to executor.
|
overridevirtual |
Complete all available queued work without blocking.
This function checks if after the guard condition was triggered (or a spurious wakeup happened) we are really ready to execute i.e. re-collect entities
Implements rclcpp::Waitable.
|
inline |
Return number of timers.
|
inline |
Return number of subscriptions.
|
inline |
Return number of services.
|
inline |
Return number of clients.
|
inline |
Return number of waitables.
|
inline |
Return a SubscritionBase Sharedptr by index.
[in] | i | The index of the SubscritionBase |
std::out_of_range | if the argument is higher than the size of the structrue. |
|
inline |
Return a TimerBase Sharedptr by index.
[in] | i | The index of the TimerBase |
std::out_of_range | if the argument is higher than the size. |
|
inline |
Return a ServiceBase Sharedptr by index.
[in] | i | The index of the ServiceBase |
std::out_of_range | if the argument is higher than the size. |
|
inline |
Return a ClientBase Sharedptr by index
[in] | i | The index of the ClientBase |
std::out_of_range | if the argument is higher than the size. |
|
inline |
Return a Waitable Sharedptr by index
[in] | i | The index of the Waitable |
std::out_of_range | if the argument is higher than the size. |