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

#include <nros_generated.h>

Data Fields

uint8_t policy
 
uint8_t role
 
const char * topic
 
uint32_t value
 

Detailed Description

Phase 211.H (issue #52) — one per-topic QoS override, the C-ABI mirror of Rust's nros_rmw::QosOverride. The deploy plan lowers a qos_overrides.<topic>.<role>.<policy> launch param into a &'static array of these, which the entry installs on the node via [nros_node_set_qos_overrides](crate::node::nros_node_set_qos_overrides); the node folds the matching entries into each entity's QoS at create_publisher / create_subscription time (setup-time, before the backend-compat check — no silent downgrade).

Plain scalar fields only (no #[repr(C)] enums) so the C++/cbindgen header is trivially stable and there is no short-enum ABI mirror to keep in sync.

Field Documentation

◆ policy

uint8_t nros_qos_override_t::policy

0 = reliability, 1 = durability, 2 = history, 3 = depth.

◆ role

uint8_t nros_qos_override_t::role

0 = publisher, 1 = subscription. Other values never match.

◆ topic

const char* nros_qos_override_t::topic

Resolved (remapped) topic the override targets, NUL-terminated UTF-8 (e.g. "/chatter"). Matched exactly against the entity's topic.

◆ value

uint32_t nros_qos_override_t::value

Policy-specific value: reliability 0=best_effort/1=reliable; durability 0=volatile/1=transient_local; history 0=keep_last/1=keep_all; depth = the KeepLast depth.


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