nros C API
Lightweight ROS 2 client for embedded real-time systems
Loading...
Searching...
No Matches
rclc_action_goal_handle_t Struct Reference

#include <nros_generated.h>

Collaboration diagram for rclc_action_goal_handle_t:

Data Fields

bool _in_use
struct rcl_action_server_t * action_server
bool available_cancel_response
bool available_feedback
bool available_goal_response
bool available_result_response
bool goal_accepted
bool goal_cancelled
unique_identifier_msgs__msg__UUID goal_id
struct rclc_action_goal_handle_t * next
void * ros_goal_request
rcl_action_goal_state_t status

Detailed Description

rclc's rclc_action_goal_handle_t (phase-515 C4b): one goal of an rclc action server, handed to the goal and cancel callbacks and back to rclc_action_send_result / rclc_action_publish_feedback.

ADOPT-BOUNDED: rclc's members a server reads are here with rclc's names and types (status, goal_id, ros_goal_request, goal_accepted, goal_cancelled, action_server). ros_goal_request is a void * (rclc types it struct Generic_SendGoal_Request *; both are cast to the user's <Action>_SendGoal_Request *). rclc's request headers and its action-client member are not: the runtime answers each request itself, and rclc's typed action client is not ported. The handles live in the server (at most NROS_MAX_CONCURRENT_GOALS), not in executor-allocated memory.

Field Documentation

◆ _in_use

bool rclc_action_goal_handle_t::_in_use

Ours: the handle holds a live goal.

◆ action_server

struct rcl_action_server_t* rclc_action_goal_handle_t::action_server

The server this goal arrived on.

◆ available_cancel_response

bool rclc_action_goal_handle_t::available_cancel_response

rclc's flag; not set by a server.

◆ available_feedback

bool rclc_action_goal_handle_t::available_feedback

rclc's flag; not set by a server.

◆ available_goal_response

bool rclc_action_goal_handle_t::available_goal_response

rclc's flag; not set by a server.

◆ available_result_response

bool rclc_action_goal_handle_t::available_result_response

rclc's flag; not set by a server.

◆ goal_accepted

bool rclc_action_goal_handle_t::goal_accepted

true once the goal callback accepted the goal.

◆ goal_cancelled

bool rclc_action_goal_handle_t::goal_cancelled

true once the cancel callback accepted a cancel request for this goal.

◆ goal_id

unique_identifier_msgs__msg__UUID rclc_action_goal_handle_t::goal_id

The goal's id.

◆ next

struct rclc_action_goal_handle_t* rclc_action_goal_handle_t::next

rclc's free/used list link. Always NULL here: the pool is an array.

◆ ros_goal_request

void* rclc_action_goal_handle_t::ros_goal_request

The caller's <Action>_SendGoal_Request this goal was deserialised into, an element of the array rclc_executor_add_action_server took.

◆ status

rcl_action_goal_state_t rclc_action_goal_handle_t::status

The goal's status. GOAL_STATE_EXECUTING once accepted, GOAL_STATE_CANCELING while a cancel request is being decided or has been accepted, terminal once rclc_action_send_result sent it.


The documentation for this struct was generated from the following file: