Saved state¶
ravet_plugin::state defines one little-endian envelope for every format:
magic RAVETSTA, envelope version, product tag and state version, parameter
ID/value pairs and optional product extra data (up to 16 MiB). Read-only
parameters are not saved.
state::restore matches saved values to the current product by ID. Unknown IDs
(removed parameters) are dropped and missing ones take defaults. Values outside
the current range are rejected rather than clamped. State from a newer product
version is rejected. A product's StateHooks can migrate state written by an
earlier product state version, and import data without the RAVET magic, such
as sessions from another framework. Restoring never partially applies state.
These rules implement the saved-state section of the compatibility policy.