Skip to main content

Module qos

Module qos 

Source
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.