pub struct OwnedWriteHalf { /* private fields */ }blocking only.Expand description
Owned input half returned by Session::into_parts.
Bytes written here become console input for the child, exactly as if they
had been typed: line-oriented programs expect \r\n, not \n.
flush is a no-op: writes go straight to the pipe, and
there is no user-space buffer to push.
§Dropping this half ends the session
Closing this half is not a polite “no more input” signal. It closes conin
and requests pseudoconsole close, which sends a close event to every
attached client. A child that is still running is therefore terminated
with exit code 0xC000013A (STATUS_CONTROL_C_EXIT) and loses any output
it had not written yet. Hold on to this half until the child has exited —
or drop it deliberately to end a session that ignores everything else.
Trait Implementations§
Source§impl Debug for OwnedWriteHalf
Deliberately opaque: nothing but the conin pipe handle lives here.
impl Debug for OwnedWriteHalf
Deliberately opaque: nothing but the conin pipe handle lives here.
Source§impl Write for OwnedWriteHalf
impl Write for OwnedWriteHalf
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored)