pub trait Codec<T>: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn version(&self) -> u32;
fn encode(&self, value: &T) -> Result<Vec<u8>, CodecError>;
fn decode(&self, bytes: &[u8]) -> Result<T, CodecError>;
}Expand description
Codec for tier serialization. Tiers call encode(value) before
backend.write and decode(bytes) after backend.read. name +
version surface at the tier level for format_version migration (Q4).