Trait miden_processor::utils::Deserializable
pub trait Deserializable: Sized {
// Required method
fn read_from<R>(source: &mut R) -> Result<Self, DeserializationError>
where R: ByteReader;
// Provided methods
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError> { ... }
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
sourcedoes not contain enough bytes to deserializeSelf. - Bytes read from the
sourcedo not represent a valid value forSelf.
Provided Methods§
fn 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.
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
sourcedoes not contain enough bytes to deserialize the specified number of elements. - Bytes read from the
sourcedo not represent a valid value forSelffor any of the elements.
Note: if the error occurs, the reader is not rolled back to the state prior to calling this function.
Implementations on Foreign Types§
§impl Deserializable for StoreNode
impl Deserializable for StoreNode
fn read_from<R>(source: &mut R) -> Result<StoreNode, DeserializationError>where R: ByteReader,
§impl<const N: usize> Deserializable for Blake3Digest<N>
impl<const N: usize> Deserializable for Blake3Digest<N>
fn read_from<R>(source: &mut R) -> Result<Blake3Digest<N>, DeserializationError>where R: ByteReader,
§impl<B> Deserializable for CubeExtension<B>where
B: ExtensibleField<3>,
impl<B> Deserializable for CubeExtension<B>where B: ExtensibleField<3>,
fn read_from<R>( source: &mut R ) -> Result<CubeExtension<B>, DeserializationError>where R: ByteReader,
§impl Deserializable for BaseElement
impl Deserializable for BaseElement
fn read_from<R>(source: &mut R) -> Result<BaseElement, DeserializationError>where R: ByteReader,
§impl Deserializable for BaseElement
impl Deserializable for BaseElement
fn read_from<R>(source: &mut R) -> Result<BaseElement, DeserializationError>where R: ByteReader,
§impl Deserializable for ProofOptions
impl Deserializable for ProofOptions
§fn read_from<R>(source: &mut R) -> Result<ProofOptions, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<ProofOptions, DeserializationError>where R: ByteReader,
Reads proof options from the specified source and returns the result.
Errors
Returns an error of a valid proof options could not be read from the specified source.
§impl Deserializable for FieldExtension
impl Deserializable for FieldExtension
§fn read_from<R>(source: &mut R) -> Result<FieldExtension, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<FieldExtension, DeserializationError>where R: ByteReader,
Reads a field extension enum from the specified source.
§impl Deserializable for TraceLayout
impl Deserializable for TraceLayout
§fn read_from<R>(source: &mut R) -> Result<TraceLayout, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<TraceLayout, DeserializationError>where R: ByteReader,
Reads [TraceLayout] from the specified source and returns the result.
Errors
Returns an error of a valid [TraceLayout] struct could not be read from the specified
source.
§impl Deserializable for Queries
impl Deserializable for Queries
§fn read_from<R>(source: &mut R) -> Result<Queries, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<Queries, DeserializationError>where R: ByteReader,
Reads a query struct from the specified source and returns the result
Errors
Returns an error of a valid query struct could not be read from the specified source.
§impl Deserializable for Commitments
impl Deserializable for Commitments
§fn read_from<R>(source: &mut R) -> Result<Commitments, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<Commitments, DeserializationError>where R: ByteReader,
Reads commitments from the specified source and returns the result.
Errors
Returns an error of a valid Commitments struct could not be read from the specified
source.
§impl Deserializable for OodFrame
impl Deserializable for OodFrame
§fn read_from<R>(source: &mut R) -> Result<OodFrame, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<OodFrame, DeserializationError>where R: ByteReader,
Reads a OOD frame from the specified source and returns the result
Errors
Returns an error of a valid OOD frame could not be read from the specified source.
§impl Deserializable for Context
impl Deserializable for Context
§fn read_from<R>(source: &mut R) -> Result<Context, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<Context, DeserializationError>where R: ByteReader,
Reads proof context from the specified source and returns the result.
Errors
Returns an error of a valid Context struct could not be read from the specified source.
§impl Deserializable for FriProof
impl Deserializable for FriProof
§fn read_from<R>(source: &mut R) -> Result<FriProof, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<FriProof, DeserializationError>where R: ByteReader,
Reads a FRI proof from the specified source and returns the result.
Errors
Returns an error if a valid proof could not be read from the source.