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
impl AsFd for PipeWriter
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
impl AsRawFd for PipeWriter
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
impl From<OwnedFd> for PipeWriter
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
impl From<PipeWriter> for OwnedFd
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
impl FromRawFd for PipeWriter
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
impl IntoRawFd for PipeWriter
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
Auto Trait Implementationsยง
impl Freeze for PipeWriter
impl RefUnwindSafe for PipeWriter
impl Send for PipeWriter
impl Sync for PipeWriter
impl Unpin for PipeWriter
impl UnwindSafe for PipeWriter
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