2020-05-14 07:51:55 -07:00
|
|
|
//! Adaptors from AsyncRead/AsyncWrite to Stream/Sink
|
2018-06-04 22:36:06 -05:00
|
|
|
//!
|
2020-05-14 07:51:55 -07:00
|
|
|
//! Raw I/O objects work with byte sequences, but higher-level code
|
|
|
|
|
//! usually wants to batch these into meaningful chunks, called
|
|
|
|
|
//! "frames".
|
|
|
|
|
//!
|
|
|
|
|
//! This module 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.
|
2018-06-04 22:36:06 -05:00
|
|
|
//!
|
2020-02-01 23:04:58 +01:00
|
|
|
//! [`AsyncRead`]: tokio::io::AsyncRead
|
|
|
|
|
//! [`AsyncWrite`]: tokio::io::AsyncWrite
|
|
|
|
|
//! [`Stream`]: tokio::stream::Stream
|
|
|
|
|
//! [`Sink`]: futures_sink::Sink
|
2018-06-04 22:36:06 -05:00
|
|
|
|
|
|
|
|
mod bytes_codec;
|
2019-10-22 10:13:49 -07:00
|
|
|
pub use self::bytes_codec::BytesCodec;
|
|
|
|
|
|
2019-06-27 18:10:29 +01:00
|
|
|
mod decoder;
|
2019-10-22 10:13:49 -07:00
|
|
|
pub use self::decoder::Decoder;
|
|
|
|
|
|
2019-06-27 18:10:29 +01:00
|
|
|
mod encoder;
|
2019-10-22 10:13:49 -07:00
|
|
|
pub use self::encoder::Encoder;
|
|
|
|
|
|
2020-05-12 12:47:38 +01:00
|
|
|
mod framed_impl;
|
|
|
|
|
#[allow(unused_imports)]
|
|
|
|
|
pub(crate) use self::framed_impl::{FramedImpl, RWFrames, ReadFrame, WriteFrame};
|
|
|
|
|
|
2019-06-27 18:10:29 +01:00
|
|
|
mod framed;
|
2019-10-22 10:13:49 -07:00
|
|
|
pub use self::framed::{Framed, FramedParts};
|
|
|
|
|
|
2019-06-27 18:10:29 +01:00
|
|
|
mod framed_read;
|
2019-10-22 10:13:49 -07:00
|
|
|
pub use self::framed_read::FramedRead;
|
|
|
|
|
|
2019-06-27 18:10:29 +01:00
|
|
|
mod framed_write;
|
2019-10-22 10:13:49 -07:00
|
|
|
pub use self::framed_write::FramedWrite;
|
|
|
|
|
|
2019-08-08 00:40:05 +05:30
|
|
|
pub mod length_delimited;
|
2019-10-22 10:13:49 -07:00
|
|
|
pub use self::length_delimited::{LengthDelimitedCodec, LengthDelimitedCodecError};
|
2018-06-04 22:36:06 -05:00
|
|
|
|
2019-10-22 10:13:49 -07:00
|
|
|
mod lines_codec;
|
|
|
|
|
pub use self::lines_codec::{LinesCodec, LinesCodecError};
|