Struct layered_io::LayeredReader
source · [−]pub struct LayeredReader<Inner> { /* private fields */ }
Expand description
Adapts an Read
to implement ReadLayered
.
Implementations
sourceimpl<Inner: Read> LayeredReader<Inner>
impl<Inner: Read> LayeredReader<Inner>
sourcepub fn new(inner: Inner) -> Self
pub fn new(inner: Inner) -> Self
Construct a new LayeredReader
which wraps inner
with default
settings.
sourcepub fn with_eos_as_push(inner: Inner) -> Self
pub fn with_eos_as_push(inner: Inner) -> Self
Construct a new LayeredReader
which wraps inner
. When inner
reports end of stream (by returning 0), report a push but keep the
stream open and continue to read data on it.
For example, when reading a file, when the reader reaches the end of the file it will report it, but consumers may wish to continue reading in case additional data is appended to the file.
sourcepub fn line_by_line(inner: Inner) -> Self
pub fn line_by_line(inner: Inner) -> Self
Construct a new LayeredReader
which wraps an inner
which reads its
input line-by-line, such as stdin on a terminal.
sourcepub fn abandon_into_inner(self) -> Option<Inner>
pub fn abandon_into_inner(self) -> Option<Inner>
Consume this LayeredReader
and return the inner stream.
Trait Implementations
sourceimpl<Inner: Read + AsFd> AsFd for LayeredReader<Inner>
impl<Inner: Read + AsFd> AsFd for LayeredReader<Inner>
sourcefn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
sourceimpl<Inner: Read + AsRawFd> AsRawFd for LayeredReader<Inner>
impl<Inner: Read + AsRawFd> AsRawFd for LayeredReader<Inner>
sourceimpl<Inner> Bufferable for LayeredReader<Inner>
impl<Inner> Bufferable for LayeredReader<Inner>
sourcefn suggested_buffer_size(&self) -> usize
fn suggested_buffer_size(&self) -> usize
A suggested size, in bytes, for buffering for performance.
sourceimpl<Inner: Debug> Debug for LayeredReader<Inner>
impl<Inner: Debug> Debug for LayeredReader<Inner>
sourceimpl<Inner: Read> Read for LayeredReader<Inner>
impl<Inner: Read> Read for LayeredReader<Inner>
sourcefn 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
sourcefn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
Like read
, except that it reads into a slice of buffers. Read more
sourcefn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector
)Determines if this Read
er has an efficient read_vectored
implementation. Read more
sourcefn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
Read all bytes until EOF in this source, placing them into buf
. Read more
sourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
Read all bytes until EOF in this source, appending them to buf
. Read more
sourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
Read the exact number of bytes required to fill buf
. Read more
sourcefn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Pull some bytes from this source into the specified buffer. Read more
sourcefn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Read the exact number of bytes required to fill buf
. Read more
1.0.0 · sourcefn by_ref(&mut self) -> &mut Self
fn by_ref(&mut self) -> &mut Self
Creates a “by reference” adaptor for this instance of Read
. Read more
sourceimpl<Inner: Read> ReadLayered for LayeredReader<Inner>
impl<Inner: Read> ReadLayered for LayeredReader<Inner>
sourcefn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>
fn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>
Like Read::read
, but also returns a Status
.
sourcefn read_vectored_with_status(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<(usize, Status)>
fn read_vectored_with_status(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<(usize, Status)>
Like Read::read_vectored
, but also returns a Status
.
sourcefn read_exact_using_status(&mut self, buf: &mut [u8]) -> Result<Status>
fn read_exact_using_status(&mut self, buf: &mut [u8]) -> Result<Status>
Like Read::read_exact
, but uses read_with_status
to avoid
performing an extra read
at the end. Read more
sourcefn minimum_buffer_size(&self) -> usize
fn minimum_buffer_size(&self) -> usize
Some streams require a buffer of at least a certain size.
Auto Trait Implementations
impl<Inner> RefUnwindSafe for LayeredReader<Inner> where
Inner: RefUnwindSafe,
impl<Inner> Send for LayeredReader<Inner> where
Inner: Send,
impl<Inner> Sync for LayeredReader<Inner> where
Inner: Sync,
impl<Inner> Unpin for LayeredReader<Inner> where
Inner: Unpin,
impl<Inner> UnwindSafe for LayeredReader<Inner> where
Inner: UnwindSafe,
Blanket Implementations
sourceimpl<T> AsFilelike for T where
T: AsFd,
impl<T> AsFilelike for T where
T: AsFd,
sourcefn as_filelike(&self) -> BorrowedFd<'_>
fn as_filelike(&self) -> BorrowedFd<'_>
Borrows the reference. Read more
sourcefn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target> where
Target: FromFilelike + IntoFilelike,
fn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target> where
Target: FromFilelike + IntoFilelike,
Return a borrowing view of a resource which dereferences to a &Target
or &mut Target
. Read more
sourceimpl<T> AsGrip for T where
T: AsFd,
impl<T> AsGrip for T where
T: AsFd,
sourcefn as_grip(&self) -> BorrowedFd<'_>
fn as_grip(&self) -> BorrowedFd<'_>
Extracts the grip.
sourceimpl<T> AsRawFilelike for T where
T: AsRawFd,
impl<T> AsRawFilelike for T where
T: AsRawFd,
sourcefn as_raw_filelike(&self) -> i32
fn as_raw_filelike(&self) -> i32
Returns the raw value.
sourceimpl<T> AsRawGrip for T where
T: AsRawFd,
impl<T> AsRawGrip for T where
T: AsRawFd,
sourcefn as_raw_grip(&self) -> i32
fn as_raw_grip(&self) -> i32
Extracts the raw grip.
sourceimpl<T> AsRawSocketlike for T where
T: AsRawFd,
impl<T> AsRawSocketlike for T where
T: AsRawFd,
sourcefn as_raw_socketlike(&self) -> i32
fn as_raw_socketlike(&self) -> i32
Returns the raw value.
sourceimpl<T> AsSocketlike for T where
T: AsFd,
impl<T> AsSocketlike for T where
T: AsFd,
sourcefn as_socketlike(&self) -> BorrowedFd<'_>
fn as_socketlike(&self) -> BorrowedFd<'_>
Borrows the reference.
sourcefn as_socketlike_view<Target>(&self) -> FilelikeView<'_, Target> where
Target: FromSocketlike + IntoSocketlike,
fn as_socketlike_view<Target>(&self) -> FilelikeView<'_, Target> where
Target: FromSocketlike + IntoSocketlike,
Return a borrowing view of a resource which dereferences to a &Target
or &mut Target
. Read more
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