rclcpp  master
C++ ROS Client Library API
Public Types | Public Member Functions | Static Public Member Functions | List of all members
rclcpp::memory_strategy::MemoryStrategy Class Referenceabstract

Delegate for handling memory allocations while the Executor is executing. More...

#include <memory_strategy.hpp>

Inheritance diagram for rclcpp::memory_strategy::MemoryStrategy:
Inheritance graph
[legend]

Public Types

using WeakNodeList = std::list< rclcpp::node_interfaces::NodeBaseInterface::WeakPtr >
 

Public Member Functions

virtual ~MemoryStrategy ()=default
 
virtual bool collect_entities (const WeakNodeList &weak_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 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::executor::AnyExecutable &any_exec, const WeakNodeList &weak_nodes)=0
 
virtual void get_next_service (rclcpp::executor::AnyExecutable &any_exec, const WeakNodeList &weak_nodes)=0
 
virtual void get_next_client (rclcpp::executor::AnyExecutable &any_exec, const WeakNodeList &weak_nodes)=0
 
virtual void get_next_timer (rclcpp::executor::AnyExecutable &any_exec, const WeakNodeList &weak_nodes)=0
 
virtual void get_next_waitable (rclcpp::executor::AnyExecutable &any_exec, const WeakNodeList &weak_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 WeakNodeList &weak_nodes)
 
static rclcpp::ServiceBase::SharedPtr get_service_by_handle (std::shared_ptr< const rcl_service_t > service_handle, const WeakNodeList &weak_nodes)
 
static rclcpp::ClientBase::SharedPtr get_client_by_handle (std::shared_ptr< const rcl_client_t > client_handle, const WeakNodeList &weak_nodes)
 
static rclcpp::TimerBase::SharedPtr get_timer_by_handle (std::shared_ptr< const rcl_timer_t > timer_handle, const WeakNodeList &weak_nodes)
 
static rclcpp::node_interfaces::NodeBaseInterface::SharedPtr get_node_by_group (rclcpp::callback_group::CallbackGroup::SharedPtr group, const WeakNodeList &weak_nodes)
 
static rclcpp::callback_group::CallbackGroup::SharedPtr get_group_by_subscription (rclcpp::SubscriptionBase::SharedPtr subscription, const WeakNodeList &weak_nodes)
 
static rclcpp::callback_group::CallbackGroup::SharedPtr get_group_by_service (rclcpp::ServiceBase::SharedPtr service, const WeakNodeList &weak_nodes)
 
static rclcpp::callback_group::CallbackGroup::SharedPtr get_group_by_client (rclcpp::ClientBase::SharedPtr client, const WeakNodeList &weak_nodes)
 
static rclcpp::callback_group::CallbackGroup::SharedPtr get_group_by_timer (rclcpp::TimerBase::SharedPtr timer, const WeakNodeList &weak_nodes)
 
static rclcpp::callback_group::CallbackGroup::SharedPtr get_group_by_waitable (rclcpp::Waitable::SharedPtr waitable, const WeakNodeList &weak_nodes)
 

Detailed Description

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.

Member Typedef Documentation

◆ WeakNodeList

using rclcpp::memory_strategy::MemoryStrategy::WeakNodeList = std::list<rclcpp::node_interfaces::NodeBaseInterface::WeakPtr>

Constructor & Destructor Documentation

◆ ~MemoryStrategy()

virtual rclcpp::memory_strategy::MemoryStrategy::~MemoryStrategy ( )
virtualdefault

Member Function Documentation

◆ collect_entities()

virtual bool rclcpp::memory_strategy::MemoryStrategy::collect_entities ( const WeakNodeList weak_nodes)
pure virtual

◆ number_of_ready_subscriptions()

virtual size_t rclcpp::memory_strategy::MemoryStrategy::number_of_ready_subscriptions ( ) const
pure virtual

◆ number_of_ready_services()

virtual size_t rclcpp::memory_strategy::MemoryStrategy::number_of_ready_services ( ) const
pure virtual

◆ number_of_ready_clients()

virtual size_t rclcpp::memory_strategy::MemoryStrategy::number_of_ready_clients ( ) const
pure virtual

◆ number_of_ready_events()

virtual size_t rclcpp::memory_strategy::MemoryStrategy::number_of_ready_events ( ) const
pure virtual

◆ number_of_ready_timers()

virtual size_t rclcpp::memory_strategy::MemoryStrategy::number_of_ready_timers ( ) const
pure virtual

◆ number_of_guard_conditions()

virtual size_t rclcpp::memory_strategy::MemoryStrategy::number_of_guard_conditions ( ) const
pure virtual

◆ number_of_waitables()

virtual size_t rclcpp::memory_strategy::MemoryStrategy::number_of_waitables ( ) const
pure virtual

◆ add_handles_to_wait_set()

virtual bool rclcpp::memory_strategy::MemoryStrategy::add_handles_to_wait_set ( rcl_wait_set_t wait_set)
pure virtual

◆ clear_handles()

virtual void rclcpp::memory_strategy::MemoryStrategy::clear_handles ( )
pure virtual

◆ remove_null_handles()

virtual void rclcpp::memory_strategy::MemoryStrategy::remove_null_handles ( rcl_wait_set_t wait_set)
pure virtual

◆ add_guard_condition()

virtual void rclcpp::memory_strategy::MemoryStrategy::add_guard_condition ( const rcl_guard_condition_t guard_condition)
pure virtual

◆ remove_guard_condition()

virtual void rclcpp::memory_strategy::MemoryStrategy::remove_guard_condition ( const rcl_guard_condition_t guard_condition)
pure virtual

◆ get_next_subscription()

virtual void rclcpp::memory_strategy::MemoryStrategy::get_next_subscription ( rclcpp::executor::AnyExecutable any_exec,
const WeakNodeList weak_nodes 
)
pure virtual

◆ get_next_service()

virtual void rclcpp::memory_strategy::MemoryStrategy::get_next_service ( rclcpp::executor::AnyExecutable any_exec,
const WeakNodeList weak_nodes 
)
pure virtual

◆ get_next_client()

virtual void rclcpp::memory_strategy::MemoryStrategy::get_next_client ( rclcpp::executor::AnyExecutable any_exec,
const WeakNodeList weak_nodes 
)
pure virtual

◆ get_next_timer()

virtual void rclcpp::memory_strategy::MemoryStrategy::get_next_timer ( rclcpp::executor::AnyExecutable any_exec,
const WeakNodeList weak_nodes 
)
pure virtual

◆ get_next_waitable()

virtual void rclcpp::memory_strategy::MemoryStrategy::get_next_waitable ( rclcpp::executor::AnyExecutable any_exec,
const WeakNodeList weak_nodes 
)
pure virtual

◆ get_allocator()

virtual rcl_allocator_t rclcpp::memory_strategy::MemoryStrategy::get_allocator ( )
pure virtual

◆ get_subscription_by_handle()

static rclcpp::SubscriptionBase::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_subscription_by_handle ( std::shared_ptr< const rcl_subscription_t subscriber_handle,
const WeakNodeList weak_nodes 
)
static

◆ get_service_by_handle()

static rclcpp::ServiceBase::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_service_by_handle ( std::shared_ptr< const rcl_service_t service_handle,
const WeakNodeList weak_nodes 
)
static

◆ get_client_by_handle()

static rclcpp::ClientBase::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_client_by_handle ( std::shared_ptr< const rcl_client_t client_handle,
const WeakNodeList weak_nodes 
)
static

◆ get_timer_by_handle()

static rclcpp::TimerBase::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_timer_by_handle ( std::shared_ptr< const rcl_timer_t timer_handle,
const WeakNodeList weak_nodes 
)
static

◆ get_node_by_group()

static rclcpp::node_interfaces::NodeBaseInterface::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_node_by_group ( rclcpp::callback_group::CallbackGroup::SharedPtr  group,
const WeakNodeList weak_nodes 
)
static

◆ get_group_by_subscription()

static rclcpp::callback_group::CallbackGroup::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_group_by_subscription ( rclcpp::SubscriptionBase::SharedPtr  subscription,
const WeakNodeList weak_nodes 
)
static

◆ get_group_by_service()

static rclcpp::callback_group::CallbackGroup::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_group_by_service ( rclcpp::ServiceBase::SharedPtr  service,
const WeakNodeList weak_nodes 
)
static

◆ get_group_by_client()

static rclcpp::callback_group::CallbackGroup::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_group_by_client ( rclcpp::ClientBase::SharedPtr  client,
const WeakNodeList weak_nodes 
)
static

◆ get_group_by_timer()

static rclcpp::callback_group::CallbackGroup::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_group_by_timer ( rclcpp::TimerBase::SharedPtr  timer,
const WeakNodeList weak_nodes 
)
static

◆ get_group_by_waitable()

static rclcpp::callback_group::CallbackGroup::SharedPtr rclcpp::memory_strategy::MemoryStrategy::get_group_by_waitable ( rclcpp::Waitable::SharedPtr  waitable,
const WeakNodeList weak_nodes 
)
static

The documentation for this class was generated from the following file: