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}