Trait StateValueCodec

Source
pub trait StateValueCodec<V> {
    type Error: Debug;

    // Required methods
    fn encode_value(&self, value: &V) -> Vec<u8> ;
    fn try_decode_value(&self, bytes: &[u8]) -> Result<V, Self::Error>;

    // Provided method
    fn decode_value_unwrap(&self, bytes: &[u8]) -> V { ... }
}
Expand description

A trait for types that can serialize and deserialize values for storage access.

Required Associated Types§

Source

type Error: Debug

Error type that can arise during deserialization.

Required Methods§

Source

fn encode_value(&self, value: &V) -> Vec<u8>

Serializes a value into a bytes vector.

This method must not panic as all instances of the value type are supposed to be serializable.

Source

fn try_decode_value(&self, bytes: &[u8]) -> Result<V, Self::Error>

Tries to deserialize a value from a bytes slice, and returns a Result with either the deserialized value or an error.

Provided Methods§

Source

fn decode_value_unwrap(&self, bytes: &[u8]) -> V

Deserializes a value from a bytes slice.

§Panics

Panics if the call to StateValueCodec::try_decode_value fails. Use StateValueCodec::try_decode_value if you need to gracefully handle errors.

Implementors§