pub struct MessageCodec<T> { /* private fields */ }Expand description
A message encoder/decoder to help frame messages sent over TCP,
particularly in the case of very large messages. Uses a very simple method
of writing the length of the serialized message at the very start of
a frame, followed by the serialized message. When decoding, this length
is used to determine if a full frame has been read.
Trait Implementations§
Source§impl<T: Debug> Debug for MessageCodec<T>
impl<T: Debug> Debug for MessageCodec<T>
Source§impl<T: DeserializeOwned> Decoder for MessageCodec<T>
impl<T: DeserializeOwned> Decoder for MessageCodec<T>
Source§fn decode(
&mut self,
src: &mut BytesMut,
) -> Result<Option<Self::Item>, Self::Error>
fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<Self::Item>, Self::Error>
Decodes a message by reading the length of the message (at the start of a frame) and then reading that many bytes from a buffer to complete the frame.
Source§type Error = LiquidError
type Error = LiquidError
The type of unrecoverable frame decoding errors. Read more
Source§impl<T: Serialize> Encoder<Message<T>> for MessageCodec<T>
impl<T: Serialize> Encoder<Message<T>> for MessageCodec<T>
Source§fn encode(
&mut self,
item: Message<T>,
dst: &mut BytesMut,
) -> Result<(), Self::Error>
fn encode( &mut self, item: Message<T>, dst: &mut BytesMut, ) -> Result<(), Self::Error>
Encodes a message by writing the length of the serialized message at the start of a frame, and then writing that many bytes into a buffer to be sent.
Source§type Error = LiquidError
type Error = LiquidError
The type of encoding errors. Read more
Auto Trait Implementations§
impl<T> Freeze for MessageCodec<T>
impl<T> RefUnwindSafe for MessageCodec<T>where
T: RefUnwindSafe,
impl<T> Send for MessageCodec<T>where
T: Send,
impl<T> Sync for MessageCodec<T>where
T: Sync,
impl<T> Unpin for MessageCodec<T>where
T: Unpin,
impl<T> UnwindSafe for MessageCodec<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more