@@ -54,50 +54,6 @@ namespace executors
54
54
using rclcpp::executors::MultiThreadedExecutor;
55
55
using rclcpp::executors::SingleThreadedExecutor;
56
56
57
- // / Spin (blocking) until the conditon is complete, it times out waiting, or rclcpp is interrupted.
58
- /* *
59
- * \param[in] executor The executor which will spin the node.
60
- * \param[in] node_ptr The node to spin.
61
- * \param[in] condition The callable or future to wait on. If `SUCCESS`, the condition is safe to
62
- * access after this function
63
- * \param[in] timeout Optional timeout parameter, which gets passed to
64
- * Executor::spin_node_once.
65
- * `-1` is block forever, `0` is non-blocking.
66
- * If the time spent inside the blocking loop exceeds this timeout, return a `TIMEOUT` return code.
67
- * \return The return code, one of `SUCCESS`, `INTERRUPTED`, or `TIMEOUT`.
68
- */
69
- template <typename ConditionT, typename DurationT = std::chrono::milliseconds>
70
- rclcpp::FutureReturnCode
71
- spin_node_until_complete (
72
- rclcpp::Executor & executor,
73
- rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr,
74
- const ConditionT & condition,
75
- DurationT timeout = DurationT(-1 ))
76
- {
77
- // TODO(wjwwood): does not work recursively; can't call spin_node_until_complete
78
- // inside a callback executed by an executor.
79
- executor.add_node (node_ptr);
80
- auto retcode = executor.spin_until_complete (condition, timeout);
81
- executor.remove_node (node_ptr);
82
- return retcode;
83
- }
84
-
85
- template <typename NodeT = rclcpp::Node, typename ConditionT,
86
- typename DurationT = std::chrono::milliseconds>
87
- rclcpp::FutureReturnCode
88
- spin_node_until_complete (
89
- rclcpp::Executor & executor,
90
- std::shared_ptr<NodeT> node_ptr,
91
- const ConditionT & condition,
92
- DurationT timeout = DurationT(-1 ))
93
- {
94
- return rclcpp::executors::spin_node_until_complete (
95
- executor,
96
- node_ptr->get_node_base_interface (),
97
- condition,
98
- timeout);
99
- }
100
-
101
57
// / Spin (blocking) until the future is complete, it times out waiting, or rclcpp is interrupted.
102
58
/* *
103
59
* \param[in] executor The executor which will spin the node.
@@ -111,34 +67,31 @@ spin_node_until_complete(
111
67
* \return The return code, one of `SUCCESS`, `INTERRUPTED`, or `TIMEOUT`.
112
68
*/
113
69
template <typename FutureT, typename TimeRepT = int64_t , typename TimeT = std::milli>
114
- [[deprecated(
115
- " use spin_node_until_complete(Executor &, node_interfaces::NodeBaseInterface::SharedPtr, "
116
- " const ConditionT &, DurationT) instead"
117
- )]]
118
70
rclcpp::FutureReturnCode
119
71
spin_node_until_future_complete (
120
72
rclcpp::Executor & executor,
121
73
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr,
122
74
const FutureT & future,
123
75
std::chrono::duration<TimeRepT, TimeT> timeout = std::chrono::duration<TimeRepT, TimeT>(-1 ))
124
76
{
125
- return spin_until_complete (executor, node_ptr, future, timeout);
77
+ // TODO(wjwwood): does not work recursively; can't call spin_node_until_future_complete
78
+ // inside a callback executed by an executor.
79
+ executor.add_node (node_ptr);
80
+ auto retcode = executor.spin_until_future_complete (future, timeout);
81
+ executor.remove_node (node_ptr);
82
+ return retcode;
126
83
}
127
84
128
85
template <typename NodeT = rclcpp::Node, typename FutureT, typename TimeRepT = int64_t ,
129
86
typename TimeT = std::milli>
130
- [[deprecated(
131
- " use spin_node_until_complete(Executor &, std::shared_ptr<NodeT>, "
132
- " const ConditionT &, DurationT) instead"
133
- )]]
134
87
rclcpp::FutureReturnCode
135
88
spin_node_until_future_complete (
136
89
rclcpp::Executor & executor,
137
90
std::shared_ptr<NodeT> node_ptr,
138
91
const FutureT & future,
139
92
std::chrono::duration<TimeRepT, TimeT> timeout = std::chrono::duration<TimeRepT, TimeT>(-1 ))
140
93
{
141
- return rclcpp::executors::spin_node_until_complete (
94
+ return rclcpp::executors::spin_node_until_future_complete (
142
95
executor,
143
96
node_ptr->get_node_base_interface (),
144
97
future,
@@ -147,56 +100,26 @@ spin_node_until_future_complete(
147
100
148
101
} // namespace executors
149
102
150
- template <typename ConditionT, typename DurationT = std::chrono::milliseconds>
151
- rclcpp::FutureReturnCode
152
- spin_until_complete (
153
- rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr,
154
- const ConditionT & condition,
155
- DurationT timeout = DurationT(-1 ))
156
- {
157
- rclcpp::executors::SingleThreadedExecutor executor;
158
- return executors::spin_node_until_complete<ConditionT>(executor, node_ptr, condition, timeout);
159
- }
160
-
161
- template <typename NodeT = rclcpp::Node, typename ConditionT,
162
- typename DurationT = std::chrono::milliseconds>
163
- rclcpp::FutureReturnCode
164
- spin_until_complete (
165
- std::shared_ptr<NodeT> node_ptr,
166
- const ConditionT & condition,
167
- DurationT timeout = DurationT(-1 ))
168
- {
169
- return rclcpp::spin_until_complete (node_ptr->get_node_base_interface (), condition, timeout);
170
- }
171
-
172
103
template <typename FutureT, typename TimeRepT = int64_t , typename TimeT = std::milli>
173
- [[deprecated(
174
- " use spin_until_complete(node_interfaces::NodeBaseInterface::SharedPtr, "
175
- " const ConditionT &,DurationT) instead"
176
- )]]
177
104
rclcpp::FutureReturnCode
178
105
spin_until_future_complete (
179
106
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_ptr,
180
107
const FutureT & future,
181
108
std::chrono::duration<TimeRepT, TimeT> timeout = std::chrono::duration<TimeRepT, TimeT>(-1 ))
182
109
{
183
110
rclcpp::executors::SingleThreadedExecutor executor;
184
- return executors::spin_node_until_complete <FutureT>(executor, node_ptr, future, timeout);
111
+ return executors::spin_node_until_future_complete <FutureT>(executor, node_ptr, future, timeout);
185
112
}
186
113
187
114
template <typename NodeT = rclcpp::Node, typename FutureT, typename TimeRepT = int64_t ,
188
115
typename TimeT = std::milli>
189
- [[deprecated(
190
- " use spin_until_complete(std::shared_ptr<NodeT>, const ConditionT &, "
191
- " DurationT) instead"
192
- )]]
193
116
rclcpp::FutureReturnCode
194
117
spin_until_future_complete (
195
118
std::shared_ptr<NodeT> node_ptr,
196
119
const FutureT & future,
197
120
std::chrono::duration<TimeRepT, TimeT> timeout = std::chrono::duration<TimeRepT, TimeT>(-1 ))
198
121
{
199
- return rclcpp::spin_until_complete (node_ptr->get_node_base_interface (), future, timeout);
122
+ return rclcpp::spin_until_future_complete (node_ptr->get_node_base_interface (), future, timeout);
200
123
}
201
124
202
125
} // namespace rclcpp
0 commit comments