pub const NROS_TRANSPORT_OPS_ABI_VERSION_V1: u32 = 1;Expand description
Phase 115.A.2 — current ABI version of NrosTransportOps.
Embedded as the first field of the struct (see § Versioning
below). Consumers fill in this exact value before passing the
struct to set_custom_transport; runtime entry points reject
any other value with crate::TransportError::IncompatibleAbi
(or NROS_RMW_RET_INCOMPATIBLE_ABI at the C boundary).
The version bumps under two rules (per the portable-ABI design
note R5 in docs/design/0006-portable-rmw-platform-interface.md):
- Major (e.g.
V1→V2): existing fields removed or reordered. Old consumers fail cleanly via the version check. - Minor (e.g. struct gains an appended fn pointer): version
stays the same. New consumers detect the new fn via the size
of the trailing
_reservedregion. Today there is none — v1 is the inaugural version.