pub struct StreamReader { /* private fields */ }Expand description
An unbuffered and unlocked input byte stream, implementing Read,
abstracted over the source of the input.
It primarily consists of a single file handle, and also contains any resources needed to safely hold the file handle live.
Since it is unbuffered, and since many input sources have high per-call
overhead, it is often beneficial to wrap this in a BufReader.
Implementations§
Source§impl StreamReader
impl StreamReader
Sourcepub fn stdin() -> Result<Self>
pub fn stdin() -> Result<Self>
Read from standard input.
Unlike std::io::stdin, this stdin returns a stream which is
unbuffered and unlocked.
Since it is unbuffered, it is often beneficial to wrap the resulting
StreamReader in a BufReader.
This acquires a std::io::StdinLock (in a non-recursive way) to
prevent accesses to std::io::Stdin while this is live, and fails if a
StreamReader or StreamDuplexer for standard input already exists.
Sourcepub fn file<Filelike: IntoFilelike + Read + Write + Seek>(
filelike: Filelike,
) -> Self
pub fn file<Filelike: IntoFilelike + Read + Write + Seek>( filelike: Filelike, ) -> Self
Read from an open file, taking ownership of it.
This method can be passed a std::fs::File or similar File types.
Sourcepub fn tcp_stream<Socketlike: IntoSocketlike>(socketlike: Socketlike) -> Self
pub fn tcp_stream<Socketlike: IntoSocketlike>(socketlike: Socketlike) -> Self
Read from an open TCP stream, taking ownership of it.
This method can be passed a std::net::TcpStream or similar
TcpStream types.
Sourcepub fn pipe_reader(pipe_reader: PipeReader) -> Self
pub fn pipe_reader(pipe_reader: PipeReader) -> Self
Read from the reading end of an open pipe, taking ownership of it.
Sourcepub fn read_from_command(command: Command) -> Result<Self>
pub fn read_from_command(command: Command) -> Result<Self>
Spawn the given command and read from its standard output.
Sourcepub fn child_stdout(child_stdout: ChildStdout) -> Self
pub fn child_stdout(child_stdout: ChildStdout) -> Self
Read from a child process’ standard output, taking ownership of it.
Sourcepub fn child_stderr(child_stderr: ChildStderr) -> Self
pub fn child_stderr(child_stderr: ChildStderr) -> Self
Read from a child process’ standard error, taking ownership of it.
Trait Implementations§
Source§impl AsHandleOrSocket for StreamReader
impl AsHandleOrSocket for StreamReader
Source§fn as_handle_or_socket(&self) -> BorrowedHandleOrSocket<'_>
fn as_handle_or_socket(&self) -> BorrowedHandleOrSocket<'_>
AsHandle::as_handle and AsSocket::as_socket
but can return either type.Source§impl AsRawHandleOrSocket for StreamReader
impl AsRawHandleOrSocket for StreamReader
Source§fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
AsRawHandle::as_raw_handle and AsRawSocket::as_raw_socket
but can return either type.Source§impl Debug for StreamReader
impl Debug for StreamReader
Source§impl Peek for StreamReader
impl Peek for StreamReader
Source§impl Read for StreamReader
impl Read for StreamReader
Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
read, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector)Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
buf. Read moreSource§fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
buf. Read moreSource§fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
buf. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)cursor. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Read. Read moreSource§impl ReadReady for StreamReader
impl ReadReady for StreamReader
impl Send for StreamReader
impl Sync for StreamReader
Auto Trait Implementations§
impl Freeze for StreamReader
impl !RefUnwindSafe for StreamReader
impl Unpin for StreamReader
impl !UnwindSafe for StreamReader
Blanket Implementations§
Source§impl<T> AsGrip for Twhere
T: AsHandleOrSocket,
impl<T> AsGrip for Twhere
T: AsHandleOrSocket,
Source§fn as_grip(&self) -> BorrowedHandleOrSocket<'_>
fn as_grip(&self) -> BorrowedHandleOrSocket<'_>
Source§impl<T> AsRawGrip for Twhere
T: AsRawHandleOrSocket,
impl<T> AsRawGrip for Twhere
T: AsRawHandleOrSocket,
Source§fn as_raw_grip(&self) -> RawHandleOrSocket
fn as_raw_grip(&self) -> RawHandleOrSocket
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
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike + FromFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike + FromFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self file descriptor. Read more