Trait winter_prover::Deserializable
source · 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>, DeserializationError>
where R: ByteReader { ... }
}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.
sourcefn read_batch_from<R>(
source: &mut R,
num_elements: usize
) -> Result<Vec<Self>, DeserializationError>where
R: ByteReader,
fn read_batch_from<R>(
source: &mut R,
num_elements: usize
) -> Result<Vec<Self>, 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.
Object Safety§
Implementations on Foreign Types§
source§impl Deserializable for Commitments
impl Deserializable for Commitments
source§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.
source§impl Deserializable for Context
impl Deserializable for Context
source§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.
source§impl Deserializable for OodFrame
impl Deserializable for OodFrame
source§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.
source§impl Deserializable for Queries
impl Deserializable for Queries
source§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.
source§impl Deserializable for FriProof
impl Deserializable for FriProof
source§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.