Struct layered_io::LayeredReader [−][src]
pub struct LayeredReader<Inner> { /* fields omitted */ }
Expand description
Adapts an Read
to implement ReadLayered
.
Implementations
impl<Inner: Read> LayeredReader<Inner>
[src]
impl<Inner: Read> LayeredReader<Inner>
[src]pub fn new(inner: Inner) -> Self
[src]
pub fn new(inner: Inner) -> Self
[src]Construct a new LayeredReader
which wraps inner
with default
settings.
pub fn with_eos_as_push(inner: Inner) -> Self
[src]
pub fn with_eos_as_push(inner: Inner) -> Self
[src]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.
pub fn line_by_line(inner: Inner) -> Self
[src]
pub fn line_by_line(inner: Inner) -> Self
[src]Construct a new LayeredReader
which wraps an inner
which reads its
input line-by-line, such as stdin on a terminal.
pub fn abandon_into_inner(self) -> Option<Inner>
[src]
pub fn abandon_into_inner(self) -> Option<Inner>
[src]Consume this LayeredReader
and return the inner stream.
Trait Implementations
impl<Inner: Read + AsRawHandleOrSocket + OwnsRaw> AsRawHandleOrSocket for LayeredReader<Inner>
[src]
impl<Inner: Read + AsRawHandleOrSocket + OwnsRaw> AsRawHandleOrSocket for LayeredReader<Inner>
[src]fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
[src]
fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
[src]Like AsRawHandle::as_raw_handle
and AsRawSocket::as_raw_socket
but can return either type. Read more
impl<Inner> Bufferable for LayeredReader<Inner>
[src]
impl<Inner> Bufferable for LayeredReader<Inner>
[src]fn suggested_buffer_size(&self) -> usize
[src]
fn suggested_buffer_size(&self) -> usize
[src]A suggested size, in bytes, for buffering for performance.
impl<Inner: Debug> Debug for LayeredReader<Inner>
[src]
impl<Inner: Debug> Debug for LayeredReader<Inner>
[src]impl<Inner: Read> Read for LayeredReader<Inner>
[src]
impl<Inner: Read> Read for LayeredReader<Inner>
[src]fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
[src]
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
[src]Like read
, except that it reads into a slice of buffers. Read more
fn is_read_vectored(&self) -> bool
[src]
fn is_read_vectored(&self) -> bool
[src]can_vector
)Determines if this Read
er has an efficient read_vectored
implementation. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
[src]Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
[src]Read all bytes until EOF in this source, appending them to buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
[src]Read the exact number of bytes required to fill buf
. Read more
unsafe fn initializer(&self) -> Initializer
[src]
unsafe fn initializer(&self) -> Initializer
[src]read_initializer
)Determines if this Read
er can work with buffers of uninitialized
memory. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
1.0.0[src]Creates a “by reference” adaptor for this instance of Read
. Read more
impl<Inner: Read> ReadLayered for LayeredReader<Inner>
[src]
impl<Inner: Read> ReadLayered for LayeredReader<Inner>
[src]fn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>
[src]
fn read_with_status(&mut self, buf: &mut [u8]) -> Result<(usize, Status)>
[src]Like Read::read
, but also returns a Status
.
fn read_vectored_with_status(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<(usize, Status)>
[src]
fn read_vectored_with_status(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<(usize, Status)>
[src]Like Read::read_vectored
, but also returns a Status
.
fn read_exact_using_status(&mut self, buf: &mut [u8]) -> Result<Status>
[src]
fn read_exact_using_status(&mut self, buf: &mut [u8]) -> Result<Status>
[src]Like Read::read_exact
, but uses read_with_status
to avoid
performing an extra read
at the end. Read more
fn minimum_buffer_size(&self) -> usize
[src]
fn minimum_buffer_size(&self) -> usize
[src]Some streams require a buffer of at least a certain size.
impl<Inner: Read + OwnsRaw> OwnsRaw for LayeredReader<Inner>
[src]
Auto Trait Implementations
impl<Inner> RefUnwindSafe for LayeredReader<Inner> where
Inner: RefUnwindSafe,
Inner: RefUnwindSafe,
impl<Inner> Send for LayeredReader<Inner> where
Inner: Send,
Inner: Send,
impl<Inner> Sync for LayeredReader<Inner> where
Inner: Sync,
Inner: Sync,
impl<Inner> Unpin for LayeredReader<Inner> where
Inner: Unpin,
Inner: Unpin,
impl<Inner> UnwindSafe for LayeredReader<Inner> where
Inner: UnwindSafe,
Inner: UnwindSafe,
Blanket Implementations
impl<T> AsUnsafeHandle for T where
T: AsRawHandleOrSocket + OwnsRaw,
[src]
impl<T> AsUnsafeHandle for T where
T: AsRawHandleOrSocket + OwnsRaw,
[src]pub fn as_unsafe_handle(&self) -> UnsafeHandle
[src]
pub fn as_unsafe_handle(&self) -> UnsafeHandle
[src]Return the contained unsafe handle.
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more