Trait wire_rs::WireRead

source ·
pub trait WireRead: Sized {
    fn read_wire<const E: bool>(
        curs: &mut WireCursor<'_>
    ) -> Result<Self, WireError>; }
Expand description

Deserialization to an owned data type from the wire.

A type that implements this trait guarantees that it can be constructed using a number of bytes from the provided WireCursor. If the bytes contained on the wire would lead to the construction of an invalid instance of the object, an error will be returned instead of the object.

Required Methods§

Consumes a number of bytes from curs and returns an owned instance of the specified type, or returns a WireError on failure.

The generic boolean E designates the intended endianness of the data being read. If E is set to true, then the data will be deserialized in big endian format; if false, it will be deserialized in little endian.

Errors

WireError::InsufficientBytes - not enough bytes remained on the cursor to construct the type.

WireError::InvalidData - the bytes retrieved from curs could not be used to construct a valid instance of the type.

WireError::Internal - an internal error occurred in the wire-rs library

Implementations on Foreign Types§

Implementors§