Function rcl_action_client_configure_feedback_subscription_filter_add_goal_id

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_length setting affects the available length of content filter expressions.

Attribute

Adherence

Allocates Memory

Yes

Thread-Safe

No

Uses Atomics

Maybe [1]

Lock-Free

Maybe [1]

[1] rmw implementation defined

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