rcl
master
C API providing common ROS client library functionality.
|
Go to the documentation of this file.
30 #include "rcl/macros.h"
36 #include "rcl/visibility_control.h"
38 struct rcl_wait_set_impl_t;
68 struct rcl_wait_set_impl_t *
impl;
136 size_t number_of_subscriptions,
137 size_t number_of_guard_conditions,
138 size_t number_of_timers,
139 size_t number_of_clients,
140 size_t number_of_services,
141 size_t number_of_events,
306 size_t subscriptions_size,
307 size_t guard_conditions_size,
310 size_t services_size,
502 #endif // RCL__WAIT_H_
size_t size_of_timers
Number of timers.
Definition: wait.h:54
Structure which encapsulates a ROS Timer.
Definition: timer.h:39
rcl_ret_t rcl_wait_set_get_allocator(const rcl_wait_set_t *wait_set, rcl_allocator_t *allocator)
Retrieve the wait set's allocator.
rmw_ret_t rcl_ret_t
The type that holds an rcl return code.
Definition: types.h:23
Structure which encapsulates a ROS Client.
Definition: client.h:35
size_t size_of_guard_conditions
Number of guard_conditions.
Definition: wait.h:50
struct rcl_wait_set_t rcl_wait_set_t
Container for subscription's, guard condition's, etc to be waited on.
rcl_ret_t rcl_wait_set_add_timer(rcl_wait_set_t *wait_set, const rcl_timer_t *timer, size_t *index)
Store a pointer to the timer in the next empty spot in the set.
const rcl_event_t ** events
Storage for event pointers.
Definition: wait.h:64
rcl_ret_t rcl_wait_set_add_guard_condition(rcl_wait_set_t *wait_set, const rcl_guard_condition_t *guard_condition, size_t *index)
Store a pointer to the guard condition in the next empty spot in the set.
Handle for a rcl guard condition.
Definition: guard_condition.h:35
bool rcl_wait_set_is_valid(const rcl_wait_set_t *wait_set)
Return true if the wait set is valid, else false.
const rcl_timer_t ** timers
Storage for timer pointers.
Definition: wait.h:52
rcl_ret_t rcl_wait_set_resize(rcl_wait_set_t *wait_set, size_t subscriptions_size, size_t guard_conditions_size, size_t timers_size, size_t clients_size, size_t services_size, size_t events_size)
Reallocate space for entities in the wait set.
rcl_ret_t rcl_wait_set_fini(rcl_wait_set_t *wait_set)
Finalize a rcl wait set.
size_t size_of_subscriptions
Number of subscriptions.
Definition: wait.h:46
const rcl_service_t ** services
Storage for service pointers.
Definition: wait.h:60
rcl_ret_t rcl_wait_set_clear(rcl_wait_set_t *wait_set)
Remove (sets to NULL) all entities in the wait set.
const rcl_guard_condition_t ** guard_conditions
Storage for guard condition pointers.
Definition: wait.h:48
const rcl_subscription_t ** subscriptions
Storage for subscription pointers.
Definition: wait.h:44
Container for subscription's, guard condition's, etc to be waited on.
Definition: wait.h:41
size_t size_of_clients
Number of clients.
Definition: wait.h:58
rcl_ret_t rcl_wait_set_add_event(rcl_wait_set_t *wait_set, const rcl_event_t *event, size_t *index)
Store a pointer to the event in the next empty spot in the set.
rcl_wait_set_t rcl_get_zero_initialized_wait_set(void)
Return a rcl_wait_set_t struct with members set to NULL.
struct rcl_wait_set_impl_t * impl
Implementation specific storage.
Definition: wait.h:68
rcl_ret_t rcl_wait_set_add_client(rcl_wait_set_t *wait_set, const rcl_client_t *client, size_t *index)
Store a pointer to the client in the next empty spot in the set.
const rcl_client_t ** clients
Storage for client pointers.
Definition: wait.h:56
Structure which encapsulates a ROS Subscription.
Definition: subscription.h:37
Encapsulates the non-global state of an init/shutdown cycle.
Definition: context.h:113
Structure which encapsulates a ROS QoS event handle.
Definition: event.h:56
Structure which encapsulates a ROS Service.
Definition: service.h:35
rcl_ret_t rcl_wait_set_add_service(rcl_wait_set_t *wait_set, const rcl_service_t *service, size_t *index)
Store a pointer to the service in the next empty spot in the set.
size_t size_of_events
Number of events.
Definition: wait.h:66
rcl_ret_t rcl_wait(rcl_wait_set_t *wait_set, int64_t timeout)
Block until the wait set is ready or until the timeout has been exceeded.
rcl_ret_t rcl_wait_set_add_subscription(rcl_wait_set_t *wait_set, const rcl_subscription_t *subscription, size_t *index)
Store a pointer to the given subscription in the next empty spot in the set.
rcl_ret_t rcl_wait_set_init(rcl_wait_set_t *wait_set, size_t number_of_subscriptions, size_t number_of_guard_conditions, size_t number_of_timers, size_t number_of_clients, size_t number_of_services, size_t number_of_events, rcl_context_t *context, rcl_allocator_t allocator)
Initialize a rcl wait set with space for items to be waited on.
size_t size_of_services
Number of services.
Definition: wait.h:62