Crate asynchronous_codec
source · [−]Expand description
Utilities for encoding and decoding frames using async/await
.
Contains adapters to go from streams of bytes, AsyncRead
and AsyncWrite
, to framed streams implementing Sink
and Stream
.
Framed streams are also known as transports
.
use futures::TryStreamExt;
use futures::io::Cursor;
use asynchronous_codec::{LinesCodec, Framed};
let io = Cursor::new(Vec::new());
let mut framed = Framed::new(io, LinesCodec);
while let Some(line) = framed.try_next().await? {
dbg!(line);
}
Structs
A cheaply cloneable and sliceable chunk of contiguous memory.
A simple codec that ships bytes around
A unique reference to a contiguous slice of memory.
A unified Stream
and Sink
interface to an underlying I/O object,
using the Encoder
and Decoder
traits to encode and decode frames.
The parts obtained from Framed::into_parts
.
A Stream
of messages decoded from an AsyncRead
.
The parts obtained from (FramedRead::into_parts).
A Sink
of frames encoded to an AsyncWrite
.
The parts obtained from FramedWrite::into_parts
.
A simple Codec
implementation sending your data by prefixing it by its length.
A simple Codec
implementation that splits up data into lines.