pub struct TeeReader<R: Read, W: Write> { /* private fields */ }Expand description
An adapter for readers whose inputs are written to a tee(1)’d writer
Implementations§
Source§impl<R: Read, W: Write> TeeReader<R, W>
impl<R: Read, W: Write> TeeReader<R, W>
Sourcepub fn new(reader: R, writer: W) -> TeeReader<R, W> ⓘ
pub fn new(reader: R, writer: W) -> TeeReader<R, W> ⓘ
Returns a TeeReader which can be used as Read whose reads delegate ready bytes read to the provided reader and write to the provided writer. This write must complete before the read completes.
Errors reported by the read will be interpreted as Errors for the read
Trait Implementations§
Source§impl<R: Read, W: Write> Read for TeeReader<R, W>
impl<R: Read, W: Write> Read for TeeReader<R, W>
Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf. Read more1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf. Read more1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill
cursor. Read more1.0.0 · Source§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 moreAuto Trait Implementations§
impl<R, W> Freeze for TeeReader<R, W>
impl<R, W> RefUnwindSafe for TeeReader<R, W>where
R: RefUnwindSafe,
W: RefUnwindSafe,
impl<R, W> Send for TeeReader<R, W>
impl<R, W> Sync for TeeReader<R, W>
impl<R, W> Unpin for TeeReader<R, W>
impl<R, W> UnwindSafe for TeeReader<R, W>where
R: UnwindSafe,
W: 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