|
nros C API
Lightweight ROS 2 client for embedded real-time systems
|
#include <nros_generated.h>
Data Fields | |
| uint8_t | policy |
| uint8_t | role |
| const char * | topic |
| uint32_t | value |
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.
| uint8_t nros_qos_override_t::policy |
0 = reliability, 1 = durability, 2 = history, 3 = depth.
| uint8_t nros_qos_override_t::role |
0 = publisher, 1 = subscription. Other values never match.
| 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.
| 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.