Function rmw_service_endpoint_info_set_qos_profiles

Function Documentation

rmw_ret_t rmw_service_endpoint_info_set_qos_profiles(rmw_service_endpoint_info_t *service_endpoint_info, const rmw_qos_profile_t *qos_profiles, size_t endpoint_count, rcutils_allocator_t *allocator)

Set the endpoint QoS profiles in the given service endpoint info data structure.

Assigns the value of the qos_profiles argument to the data structure’s qos_profiles member.

Attribute

Adherence

Allocates Memory

Yes

Thread-Safe

No

Uses Atomics

No

Lock-Free

Yes

Remark

This function sets the RMW error state on failure.

Thread-safety

Setting a member is a reentrant procedure, but access to the service endpoint info data structure is not synchronized. It is not safe to read or write the qos_profile member of the given service_endpoint while setting it.

Parameters:
  • service_endpoint_info[inout] Data structure to be populated.

  • qos_profiles[in] An array of QoS profiles to be assigned.

  • endpoint_count[in] Number of endpoints used to construct the service.

  • allocator[in] Allocator to be used.

Returns:

RMW_RET_OK if successful, or

Returns:

RMW_RET_INVALID_ARGUMENT if service_endpoint_info is NULL, or

Returns:

RMW_RET_INVALID_ARGUMENT if qos_profiles is NULL, or

Returns:

RMW_RET_INVALID_ARGUMENT if ‘endpoint_count’ is not 1 or 2, or

Returns:

RMW_RET_BAD_ALLOC if memory allocation fails, or

Returns:

RMW_RET_ERROR when an unspecified error occurs.