Expand description
The five presets under their older, shorter names.
Every one of these is an ALIAS. phase-428 W10 — this module used to
RESTATE four of the five as struct literals: DEFAULT spelled all ten fields
out, SENSOR_DATA and PARAMETERS were ..DEFAULT updates of it, and
SERVICES_DEFAULT was = DEFAULT — a second, independent transcription of
upstream’s table living 40 lines below the first. Only SYSTEM_DEFAULT was a
real alias, and the comment that made it one claimed it was joining “the
other four”, which was not true of any of them.
That is the mirror this work item removes: upstream’s 7 profiles were
hand-written in four places across the repo — here, the crate-level
QOS_PROFILE_* consts above, nros-rmw/src/traits.rs, and
nros-rmw-abi/include/nros/rmw_entity.h — about 26 constants for a 7-row
table, with no gate binding them. QOS_PROFILE_PARAMETER_EVENTS is the proof
that the arrangement does not hold: it is KeepAll, 0 in traits.rs under a
comment claiming it matched rmw_qos_profile_parameter_events, which is
KEEP_LAST, 1000.
So this module now declares no values at all. The SSoT is
QoSProfile’s associated consts, and a correction there — including the
PARAMETER_EVENTS one — reaches these names without anyone remembering to
come here. Note that the alias set is a SUBSET: CLOCK,
PARAMETER_EVENTS, ACTION_STATUS_DEFAULT and PX4 have no short spelling
and are reached as nros::QOS_PROFILE_* or QoSProfile::QOS_PROFILE_*.
Constants§
- DEFAULT
rmw_qos_profile_default— reliable + volatile + keep-last(10), automatic liveliness, no deadline / lifespan.- PARAMETERS
rmw_qos_profile_parameters— reliable + volatile + keep-last(1000).- SENSOR_
DATA rmw_qos_profile_sensor_data— best-effort + volatile + keep-last(5).- SERVICES_
DEFAULT rmw_qos_profile_services_default— reliable + volatile + keep-last(10).- SYSTEM_
DEFAULT rmw_qos_profile_system_default— an absence, not a profile: every policy is the SYSTEM_DEFAULT sentinel and the depth is the depth sentinel, resolved by whichever backend is linked.