Trait miden_core::utils::Deserializable
source · pub trait Deserializable: Sized {
// Required method
fn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>
where R: ByteReader;
// Provided method
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError> { ... }
}Expand description
Defines how to deserialize Self from bytes.
Required Methods§
sourcefn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>where
R: ByteReader,
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
sourcedoes not contain enough bytes to deserializeSelf. - Bytes read from the
sourcedo not represent a valid value forSelf.
Provided Methods§
sourcefn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
Attempts to deserialize the provided bytes into Self and returns the result.
§Errors
Returns an error if:
- The
bytesdo not contain enough information to deserializeSelf. - The
bytesdo not represent a valid value forSelf.
Note: if bytes contains more data than needed to deserialize self, no error is
returned.
Object Safety§
This trait is not object safe.