Function rcl_action_client_configure_feedback_subscription_filter_add_goal_id
Defined in File action_client.h
Function Documentation
-
rcl_ret_t rcl_action_client_configure_feedback_subscription_filter_add_goal_id(const rcl_action_client_t *action_client, const uint8_t *goal_id_array, size_t array_size)
Configure feedback subscription content filter to add one goal ID.
If rmw middleware doesn’t support content filtering feature, return RCL_RET_UNSUPPORTED.
According to the DDS spec, the content filter can have up to 100 parameters. Each goal ID uses 16 parameters, so if more than 6 goal IDs are configured at the same time, an RCL_RET_ERROR will be returned.
Different RMW implementations may also have restrictions on the length of content filter expressions. If this default limit is exceeded, an RCL_RET_ERROR will be returned. For example, in ConnextDDS, the
contentfilter_property_max_lengthsetting affects the available length of content filter expressions.
[1] rmw implementation definedAttribute
Adherence
Allocates Memory
Yes
Thread-Safe
No
Uses Atomics
Maybe [1]
Lock-Free
Maybe [1]
- Parameters:
action_client – [in] action client whose feedback subscription content filter will be configured
goal_id – [in] goal id represented as a uint8_t array
array_size – [in] size of the goal_id array
- Returns:
#RCL_RET_OK if the call was successful, or
- Returns:
#RCL_RET_ACTION_CLIENT_INVALID if the action client is invalid, or
- Returns:
#RCL_RET_INVALID_ARGUMENT if any arguments are invalid, or
- Returns:
#RCL_RET_BAD_ALLOC if allocating memory failed, or
- Returns:
#RCL_RET_ERROR if calling other rcl functions internally does not return RCL_RET_OK, or
- Returns:
#RCL_RET_UNSUPPORTED if the middleware doesn’t support content filtering