pub struct NodeRecord {
pub name: String<64>,
pub namespace: String<64>,
pub rmw_name: Option<String<32>>,
pub locator: Option<String<128>>,
pub default_sched: SchedContextId,
pub session_idx: u8,
pub qos_overrides: &'static [QoSOverrideCode],
}Expand description
Per-Node metadata stored inside the Executor.
Phase 104.C.2 keeps the shape minimal — name, namespace, default SchedContext, optional rmw-name for diagnostics. Future items: per-Node session reference (104.C.3), per-Node liveliness state, per-Node parameter overrides.
Fields§
§name: String<64>§namespace: String<64>§rmw_name: Option<String<32>>RMW backend the Node was created against. None for the
implicit primary Node populated from Executor::open.
locator: Option<String<128>>Per-Node locator override. None = use the Executor’s
session-level locator.
default_sched: SchedContextIdDefault SchedContext for handles created via this Node.
Handles may override per-call. SchedContextId::default() =
the executor’s auto-created Fifo slot (slot 0).
session_idx: u8Phase 104.C.3 — session-slot index. 0 resolves to the
Executor’s primary session field; N >= 1 resolves to
extra_sessions[N-1]. Each Node may bind to a different
session, enabling multi-RMW bridges in one Executor.
qos_overrides: &'static [QoSOverrideCode]Issue #52 / phase-296 residue sweep — per-node QoS-override table, in the
SAME primitive (topic, role, policy, value) code form the C and C++
ABIs use (nros_qos_override_t / nros_cpp_qos_override_t).
Codes rather than nros_rmw::QoSOverride because the entry codegen
bakes this through RuntimeCtx, and nros-platform sits BELOW
nros-rmw in the layer graph — a typed field there would invert it.
Decoded at entity-create time by [decode_qos_override].
Empty by default: a system with no overrides pays nothing.