rclcpp
master
C++ ROS Client Library API
include
rclcpp
wait_set.hpp
Go to the documentation of this file.
1
// Copyright 2020 Open Source Robotics Foundation, Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#ifndef RCLCPP__WAIT_SET_HPP_
16
#define RCLCPP__WAIT_SET_HPP_
17
18
#include <memory>
19
20
#include "
rcl/wait.h
"
21
22
#include "
rclcpp/guard_condition.hpp
"
23
#include "
rclcpp/macros.hpp
"
24
#include "
rclcpp/visibility_control.hpp
"
25
#include "
rclcpp/wait_set_policies/dynamic_storage.hpp
"
26
#include "
rclcpp/wait_set_policies/sequential_synchronization.hpp
"
27
#include "
rclcpp/wait_set_policies/static_storage.hpp
"
28
#include "
rclcpp/wait_set_policies/thread_safe_synchronization.hpp
"
29
#include "
rclcpp/wait_set_template.hpp
"
30
31
namespace
rclcpp
32
{
33
35
45
using
WaitSet
=
rclcpp::WaitSetTemplate
<
46
rclcpp::wait_set_policies::SequentialSynchronization
,
47
rclcpp::wait_set_policies::DynamicStorage
48
>;
49
51
65
template
<
66
std::size_t
NumberOfSubscriptions,
67
std::size_t
NumberOfGuardCondtions,
68
std::size_t
NumberOfTimers,
69
std::size_t
NumberOfClients,
70
std::size_t
NumberOfServices,
71
std::size_t
NumberOfWaitables
72
>
73
using
StaticWaitSet
=
rclcpp::WaitSetTemplate
<
74
rclcpp::wait_set_policies::SequentialSynchronization
,
75
rclcpp::wait_set_policies::StaticStorage
<
76
NumberOfSubscriptions,
77
NumberOfGuardCondtions,
78
NumberOfTimers,
79
NumberOfClients,
80
NumberOfServices,
81
NumberOfWaitables
82
>
83
>;
84
86
99
using
ThreadSafeWaitSet
=
rclcpp::WaitSetTemplate
<
100
rclcpp::wait_set_policies::ThreadSafeSynchronization
,
101
rclcpp::wait_set_policies::DynamicStorage
102
>;
103
104
}
// namespace rclcpp
105
106
#endif // RCLCPP__WAIT_SET_HPP_
thread_safe_synchronization.hpp
rclcpp::wait_set_policies::SequentialSynchronization
WaitSet policy that explicitly provides no thread synchronization.
Definition:
sequential_synchronization.hpp:43
rclcpp::WaitSetTemplate
Encapsulates sets of waitable items which can be waited on as a group.
Definition:
wait_set_template.hpp:47
wait.h
dynamic_storage.hpp
rclcpp::wait_set_policies::StaticStorage
WaitSet policy that explicitly provides fixed sized storage only.
Definition:
static_storage.hpp:51
rclcpp::wait_set_policies::DynamicStorage
WaitSet policy that provides dynamically sized storage.
Definition:
dynamic_storage.hpp:40
guard_condition.hpp
rclcpp
This header provides the get_node_base_interface() template function.
Definition:
allocator_common.hpp:24
wait_set_template.hpp
rclcpp::wait_set_policies::ThreadSafeSynchronization
WaitSet policy that provides thread-safe synchronization for the wait set.
Definition:
thread_safe_synchronization.hpp:67
macros.hpp
rclcpp::WaitSet
rclcpp::WaitSetTemplate< rclcpp::wait_set_policies::SequentialSynchronization, rclcpp::wait_set_policies::DynamicStorage > WaitSet
Most common user configuration of a WaitSet, which is dynamic but not thread-safe.
Definition:
wait_set.hpp:48
sequential_synchronization.hpp
visibility_control.hpp
std::size_t
static_storage.hpp
Generated by
1.8.17