noodles_bgzf/
async.rs

1//! Async BGZF I/O.
2
3mod 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}