Trait winter_utils::Deserializable[][src]

pub trait Deserializable: Sized {
    fn read_from<R: ByteReader>(
        source: &mut R
    ) -> Result<Self, DeserializationError>; fn read_batch_from<R: ByteReader>(
        source: &mut R,
        num_elements: usize
    ) -> Result<Vec<Self>, DeserializationError> { ... } }
Expand description

Defines how to deserialize Self from bytes.

Required methods

Reads a sequence of bytes from the provided source, attempts to deserialize these bytes into Self, and returns the result.

Errors

Returns an error if:

  • The source does not contain enough bytes to deserialize Self.
  • Bytes read from the source do not represent a valid value for Self.

Provided methods

Reads a sequence of bytes from the provided source, attempts to deserialize these bytes into a vector with the specified number of Self elements, and returns the result.

Errors

Returns an error if:

  • The source does not contain enough bytes to deserialize the specified number of elements.
  • Bytes read from the source do not represent a valid value for Self for any of the elements.

Note: if the error occurs, the reader is not rolled back to the state prior to calling this function.

Implementors