ROS 2 rclcpp + rcl - jazzy
jazzy
ROS 2 C++ Client Library with ROS Client Library
|
WaitSet policy that explicitly provides no thread synchronization. More...
#include <rclcpp/wait_set_policies/sequential_synchronization.hpp>
Protected Member Functions | |
SequentialSynchronization (rclcpp::Context::SharedPtr) | |
const std::array< std::shared_ptr< rclcpp::GuardCondition >, 0 > & | get_extra_guard_conditions () |
Return any "extra" guard conditions needed to implement the synchronization policy. More... | |
void | sync_add_subscription (std::shared_ptr< rclcpp::SubscriptionBase > &&subscription, const rclcpp::SubscriptionWaitSetMask &mask, std::function< void(std::shared_ptr< rclcpp::SubscriptionBase > &&, const rclcpp::SubscriptionWaitSetMask &) > add_subscription_function) |
Add subscription without thread-safety. More... | |
void | sync_remove_subscription (std::shared_ptr< rclcpp::SubscriptionBase > &&subscription, const rclcpp::SubscriptionWaitSetMask &mask, std::function< void(std::shared_ptr< rclcpp::SubscriptionBase > &&, const rclcpp::SubscriptionWaitSetMask &) > remove_subscription_function) |
Remove guard condition without thread-safety. More... | |
void | sync_add_guard_condition (std::shared_ptr< rclcpp::GuardCondition > &&guard_condition, std::function< void(std::shared_ptr< rclcpp::GuardCondition > &&)> add_guard_condition_function) |
Add guard condition without thread-safety. More... | |
void | sync_remove_guard_condition (std::shared_ptr< rclcpp::GuardCondition > &&guard_condition, std::function< void(std::shared_ptr< rclcpp::GuardCondition > &&)> remove_guard_condition_function) |
Remove guard condition without thread-safety. More... | |
void | sync_add_timer (std::shared_ptr< rclcpp::TimerBase > &&timer, std::function< void(std::shared_ptr< rclcpp::TimerBase > &&)> add_timer_function) |
Add timer without thread-safety. More... | |
void | sync_remove_timer (std::shared_ptr< rclcpp::TimerBase > &&timer, std::function< void(std::shared_ptr< rclcpp::TimerBase > &&)> remove_timer_function) |
Remove timer without thread-safety. More... | |
void | sync_add_client (std::shared_ptr< rclcpp::ClientBase > &&client, std::function< void(std::shared_ptr< rclcpp::ClientBase > &&)> add_client_function) |
Add client without thread-safety. More... | |
void | sync_remove_client (std::shared_ptr< rclcpp::ClientBase > &&client, std::function< void(std::shared_ptr< rclcpp::ClientBase > &&)> remove_client_function) |
Remove client without thread-safety. More... | |
void | sync_add_service (std::shared_ptr< rclcpp::ServiceBase > &&service, std::function< void(std::shared_ptr< rclcpp::ServiceBase > &&)> add_service_function) |
Add service without thread-safety. More... | |
void | sync_remove_service (std::shared_ptr< rclcpp::ServiceBase > &&service, std::function< void(std::shared_ptr< rclcpp::ServiceBase > &&)> remove_service_function) |
Remove service without thread-safety. More... | |
void | sync_add_waitable (std::shared_ptr< rclcpp::Waitable > &&waitable, std::shared_ptr< void > &&associated_entity, std::function< void(std::shared_ptr< rclcpp::Waitable > &&, std::shared_ptr< void > &&) > add_waitable_function) |
Add waitable without thread-safety. More... | |
void | sync_remove_waitable (std::shared_ptr< rclcpp::Waitable > &&waitable, std::function< void(std::shared_ptr< rclcpp::Waitable > &&)> remove_waitable_function) |
Remove waitable without thread-safety. More... | |
void | sync_prune_deleted_entities (std::function< void()> prune_deleted_entities_function) |
Prune deleted entities without thread-safety. More... | |
template<class WaitResultT > | |
WaitResultT | sync_wait (std::chrono::nanoseconds time_to_wait_ns, std::function< void()> rebuild_rcl_wait_set, std::function< rcl_wait_set_t &()> get_rcl_wait_set, std::function< WaitResultT(WaitResultKind wait_result_kind)> create_wait_result) |
Implements wait without any thread-safety. | |
void | sync_wait_result_acquire () |
void | sync_wait_result_release () |
![]() | |
std::function< bool()> | create_loop_predicate (std::chrono::nanoseconds time_to_wait_ns, std::chrono::steady_clock::time_point start) |
std::chrono::nanoseconds | calculate_time_left_to_wait (std::chrono::nanoseconds original_time_to_wait_ns, std::chrono::steady_clock::time_point start) |
WaitSet policy that explicitly provides no thread synchronization.
Definition at line 43 of file sequential_synchronization.hpp.
|
inlineprotected |
Return any "extra" guard conditions needed to implement the synchronization policy.
Since this policy provides no thread-safety, it also needs no extra guard conditions to implement it.
Definition at line 55 of file sequential_synchronization.hpp.
|
inlineprotected |
Add client without thread-safety.
Does not throw, but storage function may throw.
Definition at line 150 of file sequential_synchronization.hpp.
|
inlineprotected |
Add guard condition without thread-safety.
Does not throw, but storage function may throw.
Definition at line 98 of file sequential_synchronization.hpp.
|
inlineprotected |
Add service without thread-safety.
Does not throw, but storage function may throw.
Definition at line 176 of file sequential_synchronization.hpp.
|
inlineprotected |
Add subscription without thread-safety.
Does not throw, but storage function may throw.
Definition at line 66 of file sequential_synchronization.hpp.
|
inlineprotected |
Add timer without thread-safety.
Does not throw, but storage function may throw.
Definition at line 124 of file sequential_synchronization.hpp.
|
inlineprotected |
Add waitable without thread-safety.
Does not throw, but storage function may throw.
Definition at line 202 of file sequential_synchronization.hpp.
|
inlineprotected |
Prune deleted entities without thread-safety.
Does not throw, but storage function may throw.
Definition at line 231 of file sequential_synchronization.hpp.
|
inlineprotected |
Remove client without thread-safety.
Does not throw, but storage function may throw.
Definition at line 163 of file sequential_synchronization.hpp.
|
inlineprotected |
Remove guard condition without thread-safety.
Does not throw, but storage function may throw.
Definition at line 111 of file sequential_synchronization.hpp.
|
inlineprotected |
Remove service without thread-safety.
Does not throw, but storage function may throw.
Definition at line 189 of file sequential_synchronization.hpp.
|
inlineprotected |
Remove guard condition without thread-safety.
Does not throw, but storage function may throw.
Definition at line 82 of file sequential_synchronization.hpp.
|
inlineprotected |
Remove timer without thread-safety.
Does not throw, but storage function may throw.
Definition at line 137 of file sequential_synchronization.hpp.
|
inlineprotected |
Remove waitable without thread-safety.
Does not throw, but storage function may throw.
Definition at line 218 of file sequential_synchronization.hpp.