Function rcl_action_goal_status_array_init

Function Documentation

rcl_ret_t rcl_action_goal_status_array_init(rcl_action_goal_status_array_t *status_array, const size_t num_status, const rcl_allocator_t allocator)

Initialize a rcl_action_goal_status_array_t.

After calling this function on a rcl_action_goal_status_array_t, it can be populated and used to get and send status array messages with an action server using rcl_action_get_goal_status_array() and rcl_action_publish_status() respectively.

Example usage:

#include <rcl/rcl.h>
#include <rcl_action/rcl_action.h>

rcl_action_goal_status_array_t goal_status_array =
  rcl_action_get_zero_initialized_goal_status_array();
size_t num_status = 42;
ret = rcl_action_goal_status_array_init(
  &goal_status_array,
  num_status,
  rcl_get_default_allocator());
// ... error handling, and when done with message, finalize
ret = rcl_action_goal_status_array_fini(&goal_status_array, rcl_get_default_allocator());
// ... error handling

Attribute

Adherence

Allocates Memory

Yes

Thread-Safe

No

Uses Atomics

No

Lock-Free

Yes

Parameters:
  • status_array[out] a preallocated, zero-initialized, goal status array message to be initialized.

  • num_status[in] the number of status messages to allocate space for. Must be greater than zero

  • allocator[in] a valid allocator

Returns:

RCL_RET_OK if cancel response was initialized successfully, or

Returns:

RCL_RET_INVALID_ARGUMENT if any arguments are invalid, or

Returns:

RCL_RET_ALREADY_INIT if the status array has already been initialized, or

Returns:

RCL_RET_BAD_ALLOC if allocating memory failed, or

Returns:

RCL_RET_ERROR if an unspecified error occurs.