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

#include <nros_generated.h>

Data Fields

uint8_t _reserved [2]
 
uint8_t message_info
 
nros_sched_context_id_t sched_context
 

Detailed Description

Phase 189.M3 — rclc-style named subscription options.

Sits ALONGSIDE the QoS profile (rclc convention): QoS is passed separately, this struct carries the non-QoS subscription-creation axes. The struct holds only plain scalar fields — no pointers — so it is safe to stack-allocate, memcpy, and pass across the FFI. Zero-init (all fields 0) selects the default behaviour, identical to nros_subscription_init_with_qos.

Field Documentation

◆ _reserved

uint8_t nros_subscription_options_t::_reserved[2]

Reserved for future use; must be zero. Pads the struct for ABI stability so later axes can be added without a layout break.

◆ message_info

uint8_t nros_subscription_options_t::message_info

Reserved — needs a with-info arena path (Phase 189.M3.4), not yet wired. When a future M3.4 lands this will request the message-info delivery variant (sample identity + reception timestamp alongside the payload). Setting it to a non-zero value today is accepted but ignored. Treat as bool (0 = off).

◆ sched_context

nros_sched_context_id_t nros_subscription_options_t::sched_context

Scheduling-context slot to bind the subscription's executor handle to. 0 = inherit the executor / Node default (no explicit bind), matching the nros_node_options_t::sched_context_id convention. A non-zero value must be an id previously returned from nros_executor_create_sched_context; the bind is applied by nros_executor_register_subscription once the handle exists. Has no effect on the L1 polling path.


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