Struct tokio_util::io::ReaderStream
source · [−]pub struct ReaderStream<R> { /* private fields */ }
Expand description
Convert an AsyncRead
into a Stream
of byte chunks.
This stream is fused. It performs the inverse operation of
StreamReader
.
Example
use tokio_stream::StreamExt;
use tokio_util::io::ReaderStream;
// Create a stream of data.
let data = b"hello, world!";
let mut stream = ReaderStream::new(&data[..]);
// Read all of the chunks into a vector.
let mut stream_contents = Vec::new();
while let Some(chunk) = stream.next().await {
stream_contents.extend_from_slice(&chunk?);
}
// Once the chunks are concatenated, we should have the
// original data.
assert_eq!(stream_contents, data);
Implementations
Trait Implementations
sourceimpl<R: Debug> Debug for ReaderStream<R>
impl<R: Debug> Debug for ReaderStream<R>
sourceimpl<R: AsyncRead> Stream for ReaderStream<R>
impl<R: AsyncRead> Stream for ReaderStream<R>
impl<'__pin, R> Unpin for ReaderStream<R> where
__Origin<'__pin, R>: Unpin,
Auto Trait Implementations
impl<R> RefUnwindSafe for ReaderStream<R> where
R: RefUnwindSafe,
impl<R> Send for ReaderStream<R> where
R: Send,
impl<R> Sync for ReaderStream<R> where
R: Sync,
impl<R> UnwindSafe for ReaderStream<R> where
R: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more