pub struct UpcastRegistration {
pub kind_bits: u16,
pub from_version: u16,
pub step: fn(Value) -> Result<Value, Box<dyn Error + Send + Sync>>,
}Expand description
Registration item emitted once per (KIND, from_version) upcast step.
Mirrors EventPayloadRegistration: collected link-time via inventory
so the decode seam can look up the registered vN→vN+1 migration for a given
stored kind/version without a runtime registry. The step operates on a
type-erased rmpv::Value so a single chain runner is lane-neutral (it works
for both the JSON and raw-msgpack replay lanes). The concrete error type is
owned by batpak core, so step returns a boxed dyn Error here to keep
this support crate dependency-light.
Fields§
§kind_bits: u16Packed (category << 12) | type_id; equals EventKind::as_raw_u16.
from_version: u16The stored version this step upgrades from (it produces from + 1).
step: fn(Value) -> Result<Value, Box<dyn Error + Send + Sync>>The migration applied to a decoded rmpv::Value of version
from_version, producing a value of version from_version + 1.