Function rcl_service_configure_service_introspection

Function Documentation

rcl_ret_t rcl_service_configure_service_introspection(rcl_service_t *service, rcl_node_t *node, rcl_clock_t *clock, const rosidl_service_type_support_t *type_support, const rcl_publisher_options_t publisher_options, rcl_service_introspection_state_t introspection_state)

Configure service introspection features for the service.

Enables or disables service introspection features for this service. If the introspection state is RCL_SERVICE_INTROSPECTION_OFF, then introspection will be disabled. If the state is RCL_SERVICE_INTROSPECTION_METADATA, the client metadata will be published. If the state is RCL_SERVICE_INTROSPECTION_CONTENTS, then the client metadata and service request and response contents will be published.

Attribute

Adherence

Allocates Memory

Yes

Thread-Safe

No

Uses Atomics

Maybe [1]

Lock-Free

Maybe [1]

[1] rmw implementation defined

Parameters:
  • service[in] service on which to configure service introspection

  • node[in] valid rcl_node_t to use to create the introspection publisher

  • clock[in] valid rcl_clock_t to use to generate the introspection timestamps

  • type_support[in] type support library associated with this service

  • publisher_options[in] options to use when creating the introspection publisher

  • introspection_state[in] rcl_service_introspection_state_t describing whether introspection should be OFF, METADATA, or CONTENTS

Returns:

RCL_RET_OK if the call was successful, or

Returns:

RCL_RET_ERROR if the event publisher is invalid, or

Returns:

RCL_RET_NODE_INVALID if the given node is invalid, or

Returns:

RCL_RET_INVALID_ARGUMENT if the client or node structure is invalid,

Returns:

RCL_RET_BAD_ALLOC if a memory allocation failed