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]

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]

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]

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]

Consume this LayeredReader and return the inner stream.

Trait Implementations

impl<Inner: Read + AsRawFd + OwnsRaw> AsRawFd for LayeredReader<Inner>[src]

fn as_raw_fd(&self) -> RawFd[src]

Extracts the raw file descriptor. Read more

impl<Inner> Bufferable for LayeredReader<Inner>[src]

fn abandon(&mut self)[src]

Close the resource and abandon any pending buffered contents or errors.

fn suggested_buffer_size(&self) -> usize[src]

A suggested size, in bytes, for buffering for performance.

impl<Inner: Debug> Debug for LayeredReader<Inner>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<Inner: Read> Read for LayeredReader<Inner>[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]

Like read, except that it reads into a slice of buffers. Read more

fn is_read_vectored(&self) -> bool[src]

🔬 This is a nightly-only experimental API. (can_vector)

Determines if this Reader has an efficient read_vectored implementation. Read more

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]

Read all bytes until EOF in this source, appending them to buf. Read more

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]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a “by reference” adaptor for this instance of Read. Read more

fn bytes(self) -> Bytes<Self>1.0.0[src]

Transforms this Read instance to an Iterator over its bytes. Read more

fn chain<R>(self, next: R) -> Chain<Self, R> where
    R: Read
1.0.0[src]

Creates an adaptor which will chain this stream with another. Read more

fn take(self, limit: u64) -> Take<Self>1.0.0[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl<Inner: Read> ReadLayered for LayeredReader<Inner>[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]

Like Read::read_vectored, but also returns a Status.

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]

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

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> AsUnsafeFile for T where
    T: AsRawFd + OwnsRaw
[src]

pub fn as_unsafe_file(&self) -> UnsafeFile[src]

Return the contained unsafe file.

fn as_file_view(&self) -> View<'_, File>[src]

Utility for returning a value which dereferences to a &File or &mut File. Read more

unsafe fn as_unscoped_file_view(&self) -> View<'static, File>[src]

Like as_file_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

fn as_pipe_reader_view(&self) -> View<'_, PipeReader>[src]

Utility for returning a value which dereferences to a &PipeReader or &mut PipeReader. Read more

unsafe fn as_unscoped_pipe_reader_view(&self) -> View<'static, PipeReader>[src]

Like as_pipe_reader_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

fn as_pipe_writer_view(&self) -> View<'_, PipeWriter>[src]

Utility for returning a value which dereferences to a &PipeWriter or &mut PipeWriter. Read more

unsafe fn as_unscoped_pipe_writer_view(&self) -> View<'static, PipeWriter>[src]

Like as_pipe_writer_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

fn eq_file<Filelike>(&self, other: &Filelike) -> bool where
    Filelike: AsUnsafeFile
[src]

Test whether self.as_unsafe_file().as_unsafe_handle() is equal to other.as_unsafe_file().as_unsafe_handle(). Read more

impl<T> AsUnsafeHandle for T where
    T: AsRawFd + OwnsRaw
[src]

pub fn as_unsafe_handle(&self) -> UnsafeHandle[src]

Return the contained unsafe handle.

fn eq_handle<Handlelike>(&self, other: &Handlelike) -> bool where
    Handlelike: AsUnsafeHandle
[src]

Test whether self.as_unsafe_handle() is equal to other.as_unsafe_handle(). Read more

impl<T> AsUnsafeSocket for T where
    T: AsRawFd + OwnsRaw
[src]

pub fn as_unsafe_socket(&self) -> UnsafeSocket[src]

Return the contained unsafe socket.

fn as_tcp_stream_view(&self) -> View<'_, TcpStream>[src]

Utility for returning a value which dereferences to a &TcpStream or &mut TcpStream. Read more

unsafe fn as_unscoped_tcp_stream_view(&self) -> View<'static, TcpStream>[src]

Like as_tcp_stream_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

fn as_tcp_listener_view(&self) -> View<'_, TcpListener>[src]

Utility for returning a value which dereferences to a &TcpListener or &mut TcpListener. Read more

unsafe fn as_unscoped_tcp_listener_view(&self) -> View<'static, TcpListener>[src]

Like as_tcp_listener_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

fn as_udp_socket_view(&self) -> View<'_, UdpSocket>[src]

Utility for returning a value which dereferences to a &UdpSocket or &mut UdpSocket. Read more

unsafe fn as_unscoped_udp_socket_view(&self) -> View<'static, UdpSocket>[src]

Like as_udp_socket_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

fn as_unix_stream_view(&self) -> View<'_, UnixStream>[src]

Utility for returning a value which dereferences to a &UnixStream or &mut UnixStream. Read more

unsafe fn as_unscoped_unix_stream_view(&self) -> View<'static, UnixStream>[src]

Like as_unix_stream_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

fn eq_socket<Socketlike>(&self, other: &Socketlike) -> bool where
    Socketlike: AsUnsafeSocket
[src]

Test whether self.as_unsafe_socket().as_unsafe_handle() is equal to other.as_unsafe_socket().as_unsafe_handle(). Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.