Struct rclc_executor_handle_t

Struct Documentation

struct rclc_executor_handle_t

Container for a handle.

Public Members

rclc_executor_handle_type_t type

Type of handle.

rclc_executor_handle_invocation_t invocation

Invocation type determines when to execute the callback.

rcl_subscription_t *subscription
rcl_timer_t *timer
rcl_client_t *client
rcl_service_t *service
rcl_guard_condition_t *gc
rclc_action_client_t *action_client
rclc_action_server_t *action_server
union rclc_executor_handle_t::[anonymous] [anonymous]

Pointer to the handle.

void *data

Storage of data, which holds the message of a subscription, service, etc. subscription: ptr to message service: ptr to request message

rmw_request_id_t req_id

request-id only for type service/client request/response

void *data_response_msg

only for service - ptr to response message

void *callback_context

ptr to additional callback context

rclc_subscription_callback_t subscription_callback
rclc_subscription_callback_with_context_t subscription_callback_with_context
rclc_service_callback_t service_callback
rclc_service_callback_with_request_id_t service_callback_with_reqid
rclc_service_callback_with_context_t service_callback_with_context
rclc_client_callback_t client_callback
rclc_client_callback_with_request_id_t client_callback_with_reqid
rclc_gc_callback_t gc_callback
union rclc_executor_handle_t::[anonymous] [anonymous]

Storage for callbacks.

size_t index

Internal variable.

Denotes the index of this handle in the correspoding wait_set entry. (wait_set_subscriptions[index], wait_set_timers[index], … is in the range [0,executor.max_handles), initialization: executor_max_handles because this value will never be assigned as an index in the wait_set.

bool initialized

Internal variable. Flag, which is true, if the handle is initialized and therefore initialized.

bool data_available

Interval variable. Flag, which is true, if new data is available from DDS queue (is set after calling rcl_take)

void *custom

pointer to custom handle