pub trait Decoder {
// Required method
fn decode<T>(&self, data: Bytes) -> Result<T, DecodeError>
where T: DeserializeOwned;
// Provided methods
fn decode_mut<T>(&mut self, data: Bytes) -> Result<T, DecodeError>
where T: DeserializeOwned { ... }
fn transformed<BT>(self, transformer: BT) -> TransformedDecoder<Self, BT>
where Self: Sized,
BT: BinaryTransform { ... }
}Expand description
A decoder that can transform binary data into a serde-deserializable object.
Required Methods§
Sourcefn decode<T>(&self, data: Bytes) -> Result<T, DecodeError>where
T: DeserializeOwned,
fn decode<T>(&self, data: Bytes) -> Result<T, DecodeError>where
T: DeserializeOwned,
Attempt to decode the given binary data.
Provided Methods§
Sourcefn decode_mut<T>(&mut self, data: Bytes) -> Result<T, DecodeError>where
T: DeserializeOwned,
fn decode_mut<T>(&mut self, data: Bytes) -> Result<T, DecodeError>where
T: DeserializeOwned,
Attempt to decode the given binary data, possibly mutating the state of the decoder.
Sourcefn transformed<BT>(self, transformer: BT) -> TransformedDecoder<Self, BT>where
Self: Sized,
BT: BinaryTransform,
fn transformed<BT>(self, transformer: BT) -> TransformedDecoder<Self, BT>where
Self: Sized,
BT: BinaryTransform,
Wraps this decoder, first applying transformer to any data before passing it to the
decoder.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.