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

#include <nros_generated.h>

Collaboration diagram for rcl_action_server_t:
Collaboration graph
[legend]

Data Fields

struct ActionServerInternal _internal
 
rclc_accepted_callback_t accepted_callback
 
uint8_t action_name [256]
 
size_t action_name_len
 
rclc_cancel_callback_t cancel_callback
 
void * context
 
struct rclc_action_endpoint_hashes_t endpoint_hashes
 
rclc_goal_callback_t goal_callback
 
struct rclc_node_ref_t node
 
struct rclc_qos_t qos
 
rclc_sched_context_id_t sched_context_id
 
enum rclc_action_server_state_t state
 
uint8_t type_hash [128]
 
size_t type_hash_len
 
uint8_t type_name [256]
 
size_t type_name_len
 

Detailed Description

An action server the executor dispatches.

phase-487 W4 (RFC-0096 D9, the C half): the executor arena owns the five channels, the goal table and every buffer; this struct holds the arena handle (_internal), the registration description and the one callback record, which the arena's trampolines read with this struct as their context. That record stays here, as the C++ action server's does (phase-456 W3b-ii refused moving it into the arena: the trampolines translate the ABI and reframe the goal payload). A server the caller drives itself is a [rclc_polling_action_server_t].

Field Documentation

◆ _internal

struct ActionServerInternal rcl_action_server_t::_internal

Internal state — set by rclc_executor_attach_action_server. Typed C-ABI handle field (was an opaque blob in earlier versions).

◆ accepted_callback

rclc_accepted_callback_t rcl_action_server_t::accepted_callback

Accepted callback

◆ action_name

uint8_t rcl_action_server_t::action_name[256]

Action name storage

◆ action_name_len

size_t rcl_action_server_t::action_name_len

Action name length

◆ cancel_callback

rclc_cancel_callback_t rcl_action_server_t::cancel_callback

Cancel callback

◆ context

void* rcl_action_server_t::context

User context pointer

◆ endpoint_hashes

struct rclc_action_endpoint_hashes_t rcl_action_server_t::endpoint_hashes

Issue 1913 — the per-endpoint hashes, copied from the type support at init (static-storage pointers; NULL falls back to type_hash).

◆ goal_callback

rclc_goal_callback_t rcl_action_server_t::goal_callback

Goal callback

◆ node

struct rclc_node_ref_t rcl_action_server_t::node

Pointer to parent node

◆ qos

struct rclc_qos_t rcl_action_server_t::qos

Phase 193.4b — action-server QoS, applied to the three underlying service servers (send_goal / cancel_goal / get_result). The feedback + status publishers keep their own profiles. Defaults to the services profile (RELIABLE+VOLATILE+KEEP_LAST(10)); set via rclc_action_server_init_with_qos.

◆ sched_context_id

rclc_sched_context_id_t rcl_action_server_t::sched_context_id

Phase 189.M3.3.b — scheduling-context slot to bind the action server's executor handle to (the goal-service slot; governs the action's callback dispatch). 0 = inherit the executor / Node default; set via rclc_action_server_init_with_options. When non-zero, rclc_executor_attach_action_server binds the handle after registration. No effect on the L1 polling path.

◆ state

enum rclc_action_server_state_t rcl_action_server_t::state

Current state

◆ type_hash

uint8_t rcl_action_server_t::type_hash[128]

Type hash storage

◆ type_hash_len

size_t rcl_action_server_t::type_hash_len

Type hash length

◆ type_name

uint8_t rcl_action_server_t::type_name[256]

Type name storage

◆ type_name_len

size_t rcl_action_server_t::type_name_len

Type name length


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