rclcpp
master
C++ ROS Client Library API
|
Delegate for handling memory allocations while the Executor is executing. More...
#include <memory_strategy.hpp>
Public Types | |
using | WeakCallbackGroupsToNodesMap = std::map< rclcpp::CallbackGroup::WeakPtr, rclcpp::node_interfaces::NodeBaseInterface::WeakPtr, std::owner_less< rclcpp::CallbackGroup::WeakPtr > > |
Public Member Functions | |
virtual | ~MemoryStrategy ()=default |
virtual bool | collect_entities (const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes)=0 |
virtual size_t | number_of_ready_subscriptions () const =0 |
virtual size_t | number_of_ready_services () const =0 |
virtual size_t | number_of_ready_clients () const =0 |
virtual size_t | number_of_ready_events () const =0 |
virtual size_t | number_of_ready_timers () const =0 |
virtual size_t | number_of_guard_conditions () const =0 |
virtual size_t | number_of_waitables () const =0 |
virtual void | add_waitable_handle (const rclcpp::Waitable::SharedPtr &waitable)=0 |
virtual bool | add_handles_to_wait_set (rcl_wait_set_t *wait_set)=0 |
virtual void | clear_handles ()=0 |
virtual void | remove_null_handles (rcl_wait_set_t *wait_set)=0 |
virtual void | add_guard_condition (const rcl_guard_condition_t *guard_condition)=0 |
virtual void | remove_guard_condition (const rcl_guard_condition_t *guard_condition)=0 |
virtual void | get_next_subscription (rclcpp::AnyExecutable &any_exec, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes)=0 |
virtual void | get_next_service (rclcpp::AnyExecutable &any_exec, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes)=0 |
virtual void | get_next_client (rclcpp::AnyExecutable &any_exec, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes)=0 |
virtual void | get_next_timer (rclcpp::AnyExecutable &any_exec, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes)=0 |
virtual void | get_next_waitable (rclcpp::AnyExecutable &any_exec, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes)=0 |
virtual rcl_allocator_t | get_allocator ()=0 |
Static Public Member Functions | |
static rclcpp::SubscriptionBase::SharedPtr | get_subscription_by_handle (std::shared_ptr< const rcl_subscription_t > subscriber_handle, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::ServiceBase::SharedPtr | get_service_by_handle (std::shared_ptr< const rcl_service_t > service_handle, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::ClientBase::SharedPtr | get_client_by_handle (std::shared_ptr< const rcl_client_t > client_handle, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::TimerBase::SharedPtr | get_timer_by_handle (std::shared_ptr< const rcl_timer_t > timer_handle, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::node_interfaces::NodeBaseInterface::SharedPtr | get_node_by_group (rclcpp::CallbackGroup::SharedPtr group, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::CallbackGroup::SharedPtr | get_group_by_subscription (rclcpp::SubscriptionBase::SharedPtr subscription, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::CallbackGroup::SharedPtr | get_group_by_service (rclcpp::ServiceBase::SharedPtr service, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::CallbackGroup::SharedPtr | get_group_by_client (rclcpp::ClientBase::SharedPtr client, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::CallbackGroup::SharedPtr | get_group_by_timer (rclcpp::TimerBase::SharedPtr timer, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
static rclcpp::CallbackGroup::SharedPtr | get_group_by_waitable (rclcpp::Waitable::SharedPtr waitable, const WeakCallbackGroupsToNodesMap &weak_groups_to_nodes) |
Delegate for handling memory allocations while the Executor is executing.
By default, the memory strategy dynamically allocates memory for structures that come in from the rmw implementation after the executor waits for work, based on the number of entities that come through.
using rclcpp::memory_strategy::MemoryStrategy::WeakCallbackGroupsToNodesMap = std::map<rclcpp::CallbackGroup::WeakPtr, rclcpp::node_interfaces::NodeBaseInterface::WeakPtr, std::owner_less<rclcpp::CallbackGroup::WeakPtr> > |
|
virtualdefault |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |