vortex_serde/io/
futures.rs

1#![cfg(feature = "futures")]
2
3use std::io;
4
5use bytes::BytesMut;
6use futures_util::{AsyncRead, AsyncReadExt};
7
8use crate::io::VortexRead;
9
10pub struct FuturesAdapter<IO>(pub IO);
11
12impl<R: AsyncRead + Unpin> VortexRead for FuturesAdapter<R> {
13    async fn read_into(&mut self, mut buffer: BytesMut) -> io::Result<BytesMut> {
14        self.0.read_exact(buffer.as_mut()).await?;
15        Ok(buffer)
16    }
17}