pub struct InputData(/* private fields */);Expand description
Type-erased readable source for input data fed to a subprocess’s stdin.
InputData wraps a reader, so it can supply stdin data from any readable source:
in-memory bytes, a custom Read implementation that generates or transforms data,
etc.
Use InputData::from_bytes for in-memory byte data (Vec<u8>, bytes::Bytes,
memmap2::Mmap, etc.) and InputData::from_reader for a custom Read
implementation.
Implementations§
Source§impl InputData
impl InputData
Sourcepub fn from_bytes(data: impl AsRef<[u8]> + Send + Sync + 'static) -> Self
pub fn from_bytes(data: impl AsRef<[u8]> + Send + Sync + 'static) -> Self
Create InputData from in-memory byte data.
Accepts any type that implements AsRef<[u8]>, such as Vec<u8>, Box<[u8]>,
bytes::Bytes, or memmap2::Mmap.
Sourcepub fn from_reader(reader: impl Read + Send + Sync + 'static) -> Self
pub fn from_reader(reader: impl Read + Send + Sync + 'static) -> Self
Create InputData from a custom Read implementation that generates or
transforms data on the fly.
Trait Implementations§
Source§impl Read for InputData
impl Read for InputData
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” adapter for this instance of
Read. Read more1.0.0 · Source§fn chain<R>(self, next: R) -> Chain<Self, R>
fn chain<R>(self, next: R) -> Chain<Self, R>
Creates an adapter which will chain this stream with another. Read more
Auto Trait Implementations§
impl Freeze for InputData
impl !RefUnwindSafe for InputData
impl Send for InputData
impl Sync for InputData
impl Unpin for InputData
impl !UnwindSafe for InputData
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