Class MemoryStrategy
Defined in File memory_strategy.hpp
Inheritance Relationships
Derived Type
public rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy< Alloc >
(Template Class AllocatorMemoryStrategy)
Class Documentation
-
class MemoryStrategy
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.
Subclassed by rclcpp::memory_strategies::allocator_memory_strategy::AllocatorMemoryStrategy< Alloc >
Public Types
-
using WeakCallbackGroupsToNodesMap = std::map<rclcpp::CallbackGroup::WeakPtr, rclcpp::node_interfaces::NodeBaseInterface::WeakPtr, std::owner_less<rclcpp::CallbackGroup::WeakPtr>>
Public 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 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 rclcpp::GuardCondition &guard_condition) = 0
-
virtual void remove_guard_condition(const rclcpp::GuardCondition *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
Public Static Functions
-
using WeakCallbackGroupsToNodesMap = std::map<rclcpp::CallbackGroup::WeakPtr, rclcpp::node_interfaces::NodeBaseInterface::WeakPtr, std::owner_less<rclcpp::CallbackGroup::WeakPtr>>