Function rcl_subscription_set_on_new_message_callback
Defined in File subscription.h
Function Documentation
-
rcl_ret_t rcl_subscription_set_on_new_message_callback(const rcl_subscription_t *subscription, rcl_event_callback_t callback, const void *user_data)
Set the on new message callback function for the subscription.
This API sets the callback function to be called whenever the subscription is notified about a new message.
Since this callback is called from the middleware, you should aim to make it fast and not blocking. This callback is intended to implement an event driven executor and not process data directly.
See also
rmw_subscription_set_on_new_message_callback for details about this function.
Doing work in this callback can cause delays, deadlocks, or latency due to cross thread waiting as this process runs on middleware managed threads and is meant only to notify the executor that new data is available in the middleware queue.
[1] rmw implementation definedAttribute
Adherence
Allocates Memory
No
Thread-Safe
Yes
Uses Atomics
Maybe [1]
Lock-Free
Maybe [1]
- Parameters:
subscription – [in] The subscription on which to set the callback
callback – [in] The callback to be called when new messages arrive, may be NULL
user_data – [in] Given to the callback when called later, may be NULL
- Returns:
RCL_RET_OKif successful, or- Returns:
RCL_RET_INVALID_ARGUMENTifsubscriptionis NULL, or- Returns:
RCL_RET_UNSUPPORTEDif the API is not supported by the middleware