Trait miden_core::utils::Deserializable
source · [−]pub trait Deserializable {
fn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>
where
R: ByteReader;
fn read_batch_from<R>(
source: &mut R,
num_elements: usize
) -> Result<Vec<Self, Global>, DeserializationError>
where
R: ByteReader,
{ ... }
}
Expand description
Defines how to deserialize Self
from bytes.
Required Methods
fn 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
source
does not contain enough bytes to deserializeSelf
. - Bytes read from the
source
do not represent a valid value forSelf
.
Provided Methods
fn read_batch_from<R>(
source: &mut R,
num_elements: usize
) -> Result<Vec<Self, Global>, DeserializationError> where
R: ByteReader,
fn read_batch_from<R>(
source: &mut R,
num_elements: usize
) -> Result<Vec<Self, Global>, DeserializationError> where
R: ByteReader,
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 forSelf
for any of the elements.
Note: if the error occurs, the reader is not rolled back to the state prior to calling this function.