Go to the source code of this file.
◆ rcl_publisher_event_type_t
◆ rcl_subscription_event_type_t
◆ rmw_event_t
◆ rcl_event_t
Structure which encapsulates a ROS QoS event handle.
◆ rcl_publisher_event_type_t
Enumerator |
---|
RCL_PUBLISHER_OFFERED_DEADLINE_MISSED | |
RCL_PUBLISHER_LIVELINESS_LOST | |
◆ rcl_subscription_event_type_t
Enumerator |
---|
RCL_SUBSCRIPTION_REQUESTED_DEADLINE_MISSED | |
RCL_SUBSCRIPTION_LIVELINESS_CHANGED | |
◆ rcl_get_zero_initialized_event()
Return a rcl_event_t struct with members set to NULL
.
Should be called to get a null rcl_event_t before passing to rcl_event_init().
◆ rcl_publisher_event_init()
Initialize an rcl_event_t with a publisher.
Fill the rcl_event_t with the publisher and desired event_type.
- Parameters
-
[in,out] | event | pointer to fill |
[in] | publisher | to get events from |
[in] | event_type | to listen for |
- Returns
RCL_RET_OK
if the rcl_event_t is filled, or
-
RCL_RET_INVALID_ARGUMENT
if any arguments are invalid, or
-
RCL_RET_ERROR
if an unspecified error occurs.
◆ rcl_subscription_event_init()
Initialize an rcl_event_t with a subscription.
Fill the rcl_event_t with the subscription and desired event_type.
- Parameters
-
[in,out] | event | pointer to fill |
[in] | subscription | to get events from |
[in] | event_type | to listen for |
- Returns
RCL_RET_OK
if the rcl_event_t is filled, or
-
RCL_RET_INVALID_ARGUMENT
if any arguments are invalid, or
-
RCL_RET_ERROR
if an unspecified error occurs.
◆ rcl_take_event()
Take an event from the event handle.
- Parameters
-
[in] | event_handle | event object to take from |
[in,out] | event_info | event info object to write taken data into |
[in,out] | taken | boolean flag indicating if an event was taken or not |
- Returns
RCL_RET_OK
if successful, or
-
RCL_RET_BAD_ALLOC
if memory allocation failed, or
-
RCL_RET_ERROR
if an unexpected error occurs.
◆ rcl_event_fini()
Finalize an event.
- Parameters
-
- Returns
RCL_RET_OK
if successful, or
-
RCL_RET_EVENT_INVALID
if event is null, or
-
RCL_RET_ERROR
if an unexpected error occurs.
◆ rcl_event_get_rmw_handle()
Return the rmw event handle.
The handle returned is a pointer to the internally held rmw handle. This function can fail, and therefore return NULL
, if the:
- event is
NULL
- event is invalid (never called init, called fini, or invalid node)
The returned handle is made invalid if the event is finalized or if rcl_shutdown() is called. The returned handle is not guaranteed to be valid for the life time of the event as it may be finalized and recreated itself. Therefore it is recommended to get the handle from the event using this function each time it is needed and avoid use of the handle concurrently with functions that might change it.
Attribute | Adherence |
Allocates Memory | Yes |
Thread-Safe | No |
Uses Atomics | No |
Lock-Free | Yes |
- Parameters
-
[in] | event | pointer to the rcl event |
- Returns
- rmw event handle if successful, otherwise
NULL