pub struct Chain<T, U> { /* private fields */ }
Expand description
Implementations§
Source§impl<T, U> Chain<T, U>
impl<T, U> Chain<T, U>
Sourcepub fn into_inner(self) -> (T, U)
pub fn into_inner(self) -> (T, U)
Consumes the Chain
, returning the wrapped readers.
§Examples
use async_std::prelude::*;
use async_std::fs::File;
let foo_file = File::open("foo.txt").await?;
let bar_file = File::open("bar.txt").await?;
let chain = foo_file.chain(bar_file);
let (foo_file, bar_file) = chain.into_inner();
Sourcepub fn get_ref(&self) -> (&T, &U)
pub fn get_ref(&self) -> (&T, &U)
Gets references to the underlying readers in this Chain
.
§Examples
use async_std::prelude::*;
use async_std::fs::File;
let foo_file = File::open("foo.txt").await?;
let bar_file = File::open("bar.txt").await?;
let chain = foo_file.chain(bar_file);
let (foo_file, bar_file) = chain.get_ref();
Sourcepub fn get_mut(&mut self) -> (&mut T, &mut U)
pub fn get_mut(&mut self) -> (&mut T, &mut U)
Gets mutable references to the underlying readers in this Chain
.
Care should be taken to avoid modifying the internal I/O state of the
underlying readers as doing so may corrupt the internal state of this
Chain
.
§Examples
use async_std::prelude::*;
use async_std::fs::File;
let foo_file = File::open("foo.txt").await?;
let bar_file = File::open("bar.txt").await?;
let mut chain = foo_file.chain(bar_file);
let (foo_file, bar_file) = chain.get_mut();
Trait Implementations§
Source§impl<T: BufRead, U: BufRead> BufRead for Chain<T, U>
impl<T: BufRead, U: BufRead> BufRead for Chain<T, U>
Source§fn poll_fill_buf(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<&[u8]>>
fn poll_fill_buf( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<&[u8]>>
Returns the contents of the internal buffer, filling it with more data from the
inner reader if it is empty. Read more
Source§fn consume(self: Pin<&mut Self>, amt: usize)
fn consume(self: Pin<&mut Self>, amt: usize)
Tells this buffer that
amt
bytes have been consumed from the buffer, so they
should no longer be returned in calls to read
.Source§fn read_until<'a>(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>,
) -> ImplFuture<usize>where
Self: Unpin,
fn read_until<'a>(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>,
) -> ImplFuture<usize>where
Self: Unpin,
Source§fn read_line<'a>(&'a mut self, buf: &'a mut String) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_line<'a>(&'a mut self, buf: &'a mut String) -> ImplFuture<Result<usize>>where
Self: Unpin,
Reads all bytes and appends them into
buf
until a newline (the 0xA byte) is
reached. Read moreSource§impl<T: Read, U: Read> Read for Chain<T, U>
impl<T: Read, U: Read> Read for Chain<T, U>
Source§fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut [u8],
) -> Poll<Result<usize>>
fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut [u8], ) -> Poll<Result<usize>>
Attempt to read from the
AsyncRead
into buf
.Source§fn poll_read_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &mut [IoSliceMut<'_>],
) -> Poll<Result<usize>>
fn poll_read_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], ) -> Poll<Result<usize>>
Attempt to read from the
AsyncRead
into bufs
using vectored IO operations.Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<usize>>where
Self: Unpin,
Reads some bytes from the byte stream. Read more
Source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Reads all bytes from the byte stream. Read more
Source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ImplFuture<Result<usize>>where
Self: Unpin,
Reads all bytes from the byte stream and appends them into a string. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ImplFuture<Result<()>>where
Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read moreSource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adaptor which will read at most
limit
bytes from it. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read moreimpl<'__pin, T, U> Unpin for Chain<T, U>where
__Origin<'__pin, T, U>: Unpin,
Auto Trait Implementations§
impl<T, U> Freeze for Chain<T, U>
impl<T, U> RefUnwindSafe for Chain<T, U>where
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<T, U> Send for Chain<T, U>
impl<T, U> Sync for Chain<T, U>
impl<T, U> UnwindSafe for Chain<T, U>where
T: UnwindSafe,
U: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> BufReadExt for T
impl<T> BufReadExt for T
Source§fn read_until<'a>(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>,
) -> ReadUntilFuture<'a, Self>where
Self: Unpin,
fn read_until<'a>(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>,
) -> ReadUntilFuture<'a, Self>where
Self: Unpin,
Source§fn read_line<'a>(&'a mut self, buf: &'a mut String) -> ReadLineFuture<'a, Self>where
Self: Unpin,
fn read_line<'a>(&'a mut self, buf: &'a mut String) -> ReadLineFuture<'a, Self>where
Self: Unpin,
Reads all bytes and appends them into
buf
until a newline (the 0xA byte) is
reached. Read moreSource§impl<T> ReadExt for T
impl<T> ReadExt for T
Source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
Reads some bytes from the byte stream. Read more
Source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>],
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
Source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
Reads all bytes from the byte stream. Read more
Source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String,
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
Reads all bytes from the byte stream and appends them into a string. Read more
Source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read moreSource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adaptor which will read at most
limit
bytes from it. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read more