pub struct PipeWriter(/* private fields */);Expand description
Write end of an anonymous pipe.
Implementations§
Source§impl PipeWriter
impl PipeWriter
1.87.0 · Sourcepub fn try_clone(&self) -> Result<Self>
pub fn try_clone(&self) -> Result<Self>
Creates a new PipeWriter instance that shares the same underlying file description.
§Examples
use std::process::Command;
use std::io::{pipe, Read};
let (mut reader, writer) = pipe()?;
// Spawn a process that writes to stdout and stderr.
let mut peer = Command::new("bash")
.args([
"-c",
"echo -n foo\n\
echo -n bar >&2"
])
.stdout(writer.try_clone()?)
.stderr(writer)
.spawn()?;
// Read and check the result.
let mut msg = String::new();
reader.read_to_string(&mut msg)?;
assert_eq!(&msg, "foobar");
peer.wait()?;Trait Implementations§
1.87.0 · Source§impl AsFd for PipeWriter
Available on (Unix or HermitCore or target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.
impl AsFd for PipeWriter
Available on (Unix or HermitCore or
target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.Source§fn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
1.87.0 · Source§impl AsHandle for PipeWriter
Available on Windows only.
impl AsHandle for PipeWriter
Available on Windows only.
Source§fn as_handle(&self) -> BorrowedHandle<'_>
fn as_handle(&self) -> BorrowedHandle<'_>
Borrows the handle. Read more
1.87.0 · Source§impl AsRawFd for PipeWriter
Available on (Unix or HermitCore or target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.
impl AsRawFd for PipeWriter
Available on (Unix or HermitCore or
target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.1.87.0 · Source§impl AsRawHandle for PipeWriter
Available on Windows only.
impl AsRawHandle for PipeWriter
Available on Windows only.
Source§fn as_raw_handle(&self) -> RawHandle
fn as_raw_handle(&self) -> RawHandle
Extracts the raw handle. Read more
1.87.0 · Source§impl Debug for PipeWriter
impl Debug for PipeWriter
1.87.0 · Source§impl From<OwnedFd> for PipeWriter
Available on (Unix or HermitCore or target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.
impl From<OwnedFd> for PipeWriter
Available on (Unix or HermitCore or
target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.1.87.0 · Source§impl From<OwnedHandle> for PipeWriter
Available on Windows only.
impl From<OwnedHandle> for PipeWriter
Available on Windows only.
Source§fn from(owned_handle: OwnedHandle) -> Self
fn from(owned_handle: OwnedHandle) -> Self
Converts to this type from the input type.
1.87.0 · Source§impl From<PipeWriter> for OwnedFd
Available on (Unix or HermitCore or target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.
impl From<PipeWriter> for OwnedFd
Available on (Unix or HermitCore or
target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.Source§fn from(pipe: PipeWriter) -> Self
fn from(pipe: PipeWriter) -> Self
Converts to this type from the input type.
1.87.0 · Source§impl From<PipeWriter> for OwnedHandle
Available on Windows only.
impl From<PipeWriter> for OwnedHandle
Available on Windows only.
Source§fn from(pipe: PipeWriter) -> Self
fn from(pipe: PipeWriter) -> Self
Converts to this type from the input type.
1.87.0 · Source§impl From<PipeWriter> for Stdio
impl From<PipeWriter> for Stdio
Source§fn from(pipe: PipeWriter) -> Self
fn from(pipe: PipeWriter) -> Self
Converts to this type from the input type.
1.87.0 · Source§impl FromRawFd for PipeWriter
Available on (Unix or HermitCore or target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.
impl FromRawFd for PipeWriter
Available on (Unix or HermitCore or
target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.Source§unsafe fn from_raw_fd(raw_fd: RawFd) -> Self
unsafe fn from_raw_fd(raw_fd: RawFd) -> Self
Constructs a new instance of
Self from the given raw file
descriptor. Read more1.87.0 · Source§impl FromRawHandle for PipeWriter
Available on Windows only.
impl FromRawHandle for PipeWriter
Available on Windows only.
Source§unsafe fn from_raw_handle(raw_handle: RawHandle) -> Self
unsafe fn from_raw_handle(raw_handle: RawHandle) -> Self
Constructs a new I/O object from the specified raw handle. Read more
1.87.0 · Source§impl IntoRawFd for PipeWriter
Available on (Unix or HermitCore or target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.
impl IntoRawFd for PipeWriter
Available on (Unix or HermitCore or
target_os=trusty or WASI or target_os=motor) and non-target_os=trusty only.Source§fn into_raw_fd(self) -> RawFd
fn into_raw_fd(self) -> RawFd
Consumes this object, returning the raw underlying file descriptor. Read more
1.87.0 · Source§impl IntoRawHandle for PipeWriter
Available on Windows only.
impl IntoRawHandle for PipeWriter
Available on Windows only.
Source§fn into_raw_handle(self) -> RawHandle
fn into_raw_handle(self) -> RawHandle
Consumes this object, returning the raw underlying handle. Read more
1.87.0 · Source§impl Write for &PipeWriter
impl Write for &PipeWriter
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector #69941)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
🔬This is a nightly-only experimental API. (
write_all_vectored #70436)Attempts to write multiple buffers into this writer. Read more
1.87.0 · Source§impl Write for PipeWriter
impl Write for PipeWriter
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector #69941)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
🔬This is a nightly-only experimental API. (
write_all_vectored #70436)Attempts to write multiple buffers into this writer. Read more