2121
2222#include " rcl/allocator.h"
2323#include " rcl/wait.h"
24-
2524#include " rclcpp/any_executable.hpp"
2625#include " rclcpp/macros.hpp"
2726#include " rclcpp/node_interfaces/node_base_interface.hpp"
@@ -39,112 +38,133 @@ namespace memory_strategy
3938 * the rmw implementation after the executor waits for work, based on the number of entities that
4039 * come through.
4140 */
42- class RCLCPP_PUBLIC MemoryStrategy
41+
42+ class RCLCPP_PUBLIC [[deprecated(" Changes to the executor leave this Class deprecated." )]]
43+ MemoryStrategy
4344{
4445public:
46+ #if !defined(_WIN32)
47+ #pragma GCC diagnostic push
48+ #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
49+ #else // !defined(_WIN32)
50+ #pragma warning(push)
51+ #pragma warning(disable : 4996)
52+ #endif
4553 RCLCPP_SMART_PTR_DEFINITIONS_NOT_COPYABLE (MemoryStrategy)
46- using WeakCallbackGroupsToNodesMap = std::map<rclcpp::CallbackGroup::WeakPtr,
47- rclcpp::node_interfaces::NodeBaseInterface::WeakPtr,
48- std::owner_less<rclcpp::CallbackGroup::WeakPtr>>;
54+ using WeakCallbackGroupsToNodesMap = std::map<
55+ rclcpp::CallbackGroup::WeakPtr, rclcpp::node_interfaces::NodeBaseInterface::WeakPtr,
56+ std::owner_less<rclcpp::CallbackGroup::WeakPtr>>;
4957
5058 virtual ~MemoryStrategy () = default ;
5159
60+ [[deprecated (" MemoryStrategy is deprecated." )]]
5261 virtual bool collect_entities (const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes) = 0 ;
5362
63+ [[deprecated (" MemoryStrategy is deprecated." )]]
5464 virtual size_t number_of_ready_subscriptions () const = 0 ;
65+ [[deprecated (" MemoryStrategy is deprecated." )]]
5566 virtual size_t number_of_ready_services () const = 0 ;
67+ [[deprecated (" MemoryStrategy is deprecated." )]]
5668 virtual size_t number_of_ready_clients () const = 0 ;
69+ [[deprecated (" MemoryStrategy is deprecated." )]]
5770 virtual size_t number_of_ready_events () const = 0 ;
71+ [[deprecated (" MemoryStrategy is deprecated." )]]
5872 virtual size_t number_of_ready_timers () const = 0 ;
73+ [[deprecated (" MemoryStrategy is deprecated." )]]
5974 virtual size_t number_of_guard_conditions () const = 0 ;
75+ [[deprecated (" MemoryStrategy is deprecated." )]]
6076 virtual size_t number_of_waitables () const = 0 ;
6177
78+ [[deprecated (" MemoryStrategy is deprecated." )]]
6279 virtual void add_waitable_handle (const rclcpp::Waitable::SharedPtr & waitable) = 0 ;
80+ [[deprecated (" MemoryStrategy is deprecated." )]]
6381 virtual bool add_handles_to_wait_set (rcl_wait_set_t * wait_set) = 0 ;
82+ [[deprecated (" MemoryStrategy is deprecated." )]]
6483 virtual void clear_handles () = 0 ;
84+ [[deprecated (" MemoryStrategy is deprecated." )]]
6585 virtual void remove_null_handles (rcl_wait_set_t * wait_set) = 0 ;
6686
67- virtual void
68- add_guard_condition (const rclcpp::GuardCondition & guard_condition) = 0 ;
87+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
88+ virtual void add_guard_condition (const rclcpp::GuardCondition & guard_condition) = 0 ;
6989
70- virtual void
71- remove_guard_condition (const rclcpp::GuardCondition * guard_condition) = 0 ;
90+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
91+ virtual void remove_guard_condition (const rclcpp::GuardCondition * guard_condition) = 0 ;
7292
73- virtual void
74- get_next_subscription (
93+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
94+ virtual void get_next_subscription (
7595 rclcpp::AnyExecutable & any_exec,
7696 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes) = 0 ;
7797
78- virtual void
79- get_next_service (
98+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
99+ virtual void get_next_service (
80100 rclcpp::AnyExecutable & any_exec,
81101 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes) = 0 ;
82102
83- virtual void
84- get_next_client (
103+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
104+ virtual void get_next_client (
85105 rclcpp::AnyExecutable & any_exec,
86106 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes) = 0 ;
87107
88- virtual void
89- get_next_timer (
108+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
109+ virtual void get_next_timer (
90110 rclcpp::AnyExecutable & any_exec,
91111 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes) = 0 ;
92112
93- virtual void
94- get_next_waitable (
113+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
114+ virtual void get_next_waitable (
95115 rclcpp::AnyExecutable & any_exec,
96116 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes) = 0 ;
97117
98- virtual rcl_allocator_t
99- get_allocator () = 0 ;
118+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
119+ virtual rcl_allocator_t get_allocator () = 0 ;
100120
101- static rclcpp::SubscriptionBase::SharedPtr
102- get_subscription_by_handle (
121+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
122+ static rclcpp::SubscriptionBase::SharedPtr get_subscription_by_handle (
103123 const std::shared_ptr<const rcl_subscription_t > & subscriber_handle,
104124 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
105125
106- static rclcpp::ServiceBase::SharedPtr
107- get_service_by_handle (
126+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
127+ static rclcpp::ServiceBase::SharedPtr get_service_by_handle (
108128 const std::shared_ptr<const rcl_service_t > & service_handle,
109129 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
110130
111- static rclcpp::ClientBase::SharedPtr
112- get_client_by_handle (
131+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
132+ static rclcpp::ClientBase::SharedPtr get_client_by_handle (
113133 const std::shared_ptr<const rcl_client_t > & client_handle,
114134 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
115135
116- static rclcpp::TimerBase::SharedPtr
117- get_timer_by_handle (
136+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
137+ static rclcpp::TimerBase::SharedPtr get_timer_by_handle (
118138 const std::shared_ptr<const rcl_timer_t > & timer_handle,
119139 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
120140
121- static rclcpp::node_interfaces::NodeBaseInterface::SharedPtr
122- get_node_by_group (
141+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
142+ static rclcpp::node_interfaces::NodeBaseInterface::SharedPtr get_node_by_group (
123143 const rclcpp::CallbackGroup::SharedPtr & group,
124144 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
125145
126- static rclcpp::CallbackGroup::SharedPtr
127- get_group_by_subscription (
146+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
147+ static rclcpp::CallbackGroup::SharedPtr get_group_by_subscription (
128148 const rclcpp::SubscriptionBase::SharedPtr & subscription,
129149 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
130150
131- static rclcpp::CallbackGroup::SharedPtr
132- get_group_by_service (
151+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
152+ static rclcpp::CallbackGroup::SharedPtr get_group_by_service (
133153 const rclcpp::ServiceBase::SharedPtr & service,
134154 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
135155
136- static rclcpp::CallbackGroup::SharedPtr
137- get_group_by_client (
156+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
157+ static rclcpp::CallbackGroup::SharedPtr get_group_by_client (
138158 const rclcpp::ClientBase::SharedPtr & client,
139159 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
140160
141- static rclcpp::CallbackGroup::SharedPtr
142- get_group_by_timer (
161+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
162+ static rclcpp::CallbackGroup::SharedPtr get_group_by_timer (
143163 const rclcpp::TimerBase::SharedPtr & timer,
144164 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
145165
146- static rclcpp::CallbackGroup::SharedPtr
147- get_group_by_waitable (
166+ [[ deprecated ( " MemoryStrategy is deprecated. " )]]
167+ static rclcpp::CallbackGroup::SharedPtr get_group_by_waitable (
148168 const rclcpp::Waitable::SharedPtr & waitable,
149169 const WeakCallbackGroupsToNodesMap & weak_groups_to_nodes);
150170};
0 commit comments