pub struct PipeWriter(/* private fields */);
๐ฌThis is a nightly-only experimental API. (
anonymous_pipe
)Expand description
Write end of an anonymous pipe.
Implementationsยง
Sourceยงimpl PipeWriter
impl PipeWriter
Sourcepub fn try_clone(&self) -> Result<PipeWriter, Error>
๐ฌThis is a nightly-only experimental API. (anonymous_pipe
)
pub fn try_clone(&self) -> Result<PipeWriter, Error>
anonymous_pipe
)Create a new PipeWriter
instance that shares the same underlying file description.
ยงExamples
#![feature(anonymous_pipe)]
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ยง
Sourceยงimpl AsHandle for PipeWriter
impl AsHandle for PipeWriter
Sourceยงfn as_handle(&self) -> BorrowedHandle<'_>
fn as_handle(&self) -> BorrowedHandle<'_>
Borrows the handle. Read more
Sourceยงimpl AsRawHandle for PipeWriter
impl AsRawHandle for PipeWriter
Sourceยงimpl Debug for PipeWriter
impl Debug for PipeWriter
Sourceยงimpl From<OwnedHandle> for PipeWriter
impl From<OwnedHandle> for PipeWriter
Sourceยงfn from(owned_handle: OwnedHandle) -> PipeWriter โ
fn from(owned_handle: OwnedHandle) -> PipeWriter โ
Converts to this type from the input type.
Sourceยงimpl FromRawHandle for PipeWriter
impl FromRawHandle for PipeWriter
Sourceยงunsafe fn from_raw_handle(raw_handle: *mut c_void) -> PipeWriter โ
unsafe fn from_raw_handle(raw_handle: *mut c_void) -> PipeWriter โ
Constructs a new I/O object from the specified raw handle. Read more
Sourceยงimpl IntoRawHandle for PipeWriter
impl IntoRawHandle for PipeWriter
Sourceยงimpl Write for &PipeWriter
impl Write for &PipeWriter
Sourceยงfn write(&mut self, buf: &[u8]) -> Result<usize, Error>
fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
Writes a buffer into this writer, returning how many bytes were written. Read more
Sourceยงfn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
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
)1.0.0 ยท Sourceยงfn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Sourceยงfn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
๐ฌThis is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Sourceยงimpl Write for PipeWriter
impl Write for PipeWriter
Sourceยงfn write(&mut self, buf: &[u8]) -> Result<usize, Error>
fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
Writes a buffer into this writer, returning how many bytes were written. Read more
Sourceยงfn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
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
)1.0.0 ยท Sourceยงfn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Sourceยงfn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
๐ฌThis is a nightly-only experimental API. (
write_all_vectored
)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
Sourceยงimpl<W> WriteBytesExt for W
impl<W> WriteBytesExt for W
Sourceยงfn write_u8(&mut self, n: u8) -> Result<(), Error>
fn write_u8(&mut self, n: u8) -> Result<(), Error>
Writes an unsigned 8 bit integer to the underlying writer. Read more
Sourceยงfn write_i8(&mut self, n: i8) -> Result<(), Error>
fn write_i8(&mut self, n: i8) -> Result<(), Error>
Writes a signed 8 bit integer to the underlying writer. Read more
Sourceยงfn write_u16<T>(&mut self, n: u16) -> Result<(), Error>where
T: ByteOrder,
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned 16 bit integer to the underlying writer. Read more
Sourceยงfn write_i16<T>(&mut self, n: i16) -> Result<(), Error>where
T: ByteOrder,
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error>where
T: ByteOrder,
Writes a signed 16 bit integer to the underlying writer. Read more
Sourceยงfn write_u24<T>(&mut self, n: u32) -> Result<(), Error>where
T: ByteOrder,
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned 24 bit integer to the underlying writer. Read more
Sourceยงfn write_i24<T>(&mut self, n: i32) -> Result<(), Error>where
T: ByteOrder,
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error>where
T: ByteOrder,
Writes a signed 24 bit integer to the underlying writer. Read more
Sourceยงfn write_u32<T>(&mut self, n: u32) -> Result<(), Error>where
T: ByteOrder,
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned 32 bit integer to the underlying writer. Read more
Sourceยงfn write_i32<T>(&mut self, n: i32) -> Result<(), Error>where
T: ByteOrder,
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error>where
T: ByteOrder,
Writes a signed 32 bit integer to the underlying writer. Read more
Sourceยงfn write_u48<T>(&mut self, n: u64) -> Result<(), Error>where
T: ByteOrder,
fn write_u48<T>(&mut self, n: u64) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned 48 bit integer to the underlying writer. Read more
Sourceยงfn write_i48<T>(&mut self, n: i64) -> Result<(), Error>where
T: ByteOrder,
fn write_i48<T>(&mut self, n: i64) -> Result<(), Error>where
T: ByteOrder,
Writes a signed 48 bit integer to the underlying writer. Read more
Sourceยงfn write_u64<T>(&mut self, n: u64) -> Result<(), Error>where
T: ByteOrder,
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned 64 bit integer to the underlying writer. Read more
Sourceยงfn write_i64<T>(&mut self, n: i64) -> Result<(), Error>where
T: ByteOrder,
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error>where
T: ByteOrder,
Writes a signed 64 bit integer to the underlying writer. Read more
Sourceยงfn write_u128<T>(&mut self, n: u128) -> Result<(), Error>where
T: ByteOrder,
fn write_u128<T>(&mut self, n: u128) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned 128 bit integer to the underlying writer.
Sourceยงfn write_i128<T>(&mut self, n: i128) -> Result<(), Error>where
T: ByteOrder,
fn write_i128<T>(&mut self, n: i128) -> Result<(), Error>where
T: ByteOrder,
Writes a signed 128 bit integer to the underlying writer.
Sourceยงfn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned n-bytes integer to the underlying writer. Read more
Sourceยงfn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
Writes a signed n-bytes integer to the underlying writer. Read more
Sourceยงfn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
Writes an unsigned n-bytes integer to the underlying writer. Read more
Sourceยงfn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error>where
T: ByteOrder,
Writes a signed n-bytes integer to the underlying writer. Read more