1mod block_codec;
4pub mod reader;
5pub mod writer;
6
7use self::block_codec::BlockCodec;
8pub use self::{reader::Reader, writer::Writer};
9
10#[cfg(test)]
11mod tests {
12 use tokio::io::{self, AsyncReadExt, AsyncWriteExt};
13
14 use super::*;
15
16 #[tokio::test]
17 async fn test_self() -> io::Result<()> {
18 let mut writer = Writer::new(Vec::new());
19 writer.write_all(b"noodles").await?;
20 writer.shutdown().await?;
21
22 let data = writer.into_inner();
23 let mut reader = Reader::new(&data[..]);
24
25 let mut buf = Vec::new();
26 reader.read_to_end(&mut buf).await?;
27
28 assert_eq!(buf, b"noodles");
29
30 Ok(())
31 }
32}