|
nros C API
Lightweight ROS 2 client for embedded real-time systems
|
#include <nros_generated.h>
Data Fields | |
| uint8_t | _reserved [2] |
| uint8_t | message_info |
| nros_sched_context_id_t | sched_context |
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.
| 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.
| 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).
| 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.