Trait futures::compat::AsyncRead01CompatExt
source · [−]pub trait AsyncRead01CompatExt: AsyncRead {
fn compat(self) -> Compat01As03<Self>ⓘNotable traits for Compat01As03<Fut>impl<Fut> Future for Compat01As03<Fut> where
Fut: Future, type Output = Result<<Fut as Future>::Item, <Fut as Future>::Error>;
{ ... }
}
Available on crate features
compat
and io-compat
only.Expand description
Extension trait for tokio-io AsyncRead
Provided Methods
fn compat(self) -> Compat01As03<Self>ⓘNotable traits for Compat01As03<Fut>impl<Fut> Future for Compat01As03<Fut> where
Fut: Future, type Output = Result<<Fut as Future>::Item, <Fut as Future>::Error>;
fn compat(self) -> Compat01As03<Self>ⓘNotable traits for Compat01As03<Fut>impl<Fut> Future for Compat01As03<Fut> where
Fut: Future, type Output = Result<<Fut as Future>::Item, <Fut as Future>::Error>;
Fut: Future, type Output = Result<<Fut as Future>::Item, <Fut as Future>::Error>;
Converts a tokio-io AsyncRead
into a futures-io 0.3
AsyncRead
.
use futures::io::AsyncReadExt;
use futures_util::compat::AsyncRead01CompatExt;
let input = b"Hello World!";
let reader /* : impl tokio_io::AsyncRead */ = std::io::Cursor::new(input);
let mut reader /* : impl futures::io::AsyncRead + Unpin */ = reader.compat();
let mut output = Vec::with_capacity(12);
reader.read_to_end(&mut output).await.unwrap();
assert_eq!(output, input);