Function rcl_node_type_description_service_init

Function Documentation

rcl_ret_t rcl_node_type_description_service_init(rcl_service_t *service, const rcl_node_t *node)

Initialize the node’s ~/get_type_description service.

This function initializes the node’s ~/get_type_description service which can be used to retrieve information about types used by the node’s publishers, subscribers, services or actions.

Note that this will not register any callback for the service, client-level code must register rcl_node_type_description_service_handle_request or a custom callback to handle incoming requests, via that client’s executor/waitset capabilities.

Note that the returned service must be cleaned up by the caller by calling rcl_service_fini.

Attribute

Adherence

Allocates Memory

Yes

Thread-Safe

No

Uses Atomics

No

Lock-Free

Yes

Parameters:
  • service[in] the handle to the type description service to be initialized

  • node[in] handle to the node for which to initialize the service

Returns:

RCL_RET_OK if the service was successfully initialized, or

Returns:

RCL_RET_INVALID_ARGUMENT if any arguments are invalid, or

Returns:

RCL_RET_ALREADY_INIT if the service is already initialized, or

Returns:

RCL_RET_BAD_ALLOC if memory allocation for the service failed, or

Returns:

RCL_RET_ERROR if an unspecified error occurs.