pub trait MessageBodyDecoder {
// Required methods
fn is_complete(&self) -> bool;
fn decode(&mut self, data: &mut BytesMut) -> Result<Option<Bytes>, Error>;
fn decode_eof(
&mut self,
data: &mut BytesMut,
) -> Result<Option<Bytes>, Error>;
}Expand description
Common trait for message body decoders. The decoder must not consume any more data once the message body is complete.
The trait is basically a copy of the Decoder trait from tokio-util.
However, there are no type parameters, so that the structs implementing
this trait can be treated as trait objects.
There is one additional method named is_complete which returns true if
a message body has been successfully decoded. The decoder is expected to
decode at most one message body. Once a message body is decoded, the
decoder must not consume any more data.
The decode_eof method should return an error if the body cannot be
completed.
Required Methods§
Sourcefn is_complete(&self) -> bool
fn is_complete(&self) -> bool
Returns true if the last chunk of the message body was decoded.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".