Skip to main content

Stdin

Enum Stdin 

Source
pub enum Stdin {
    Open(ChildStdin),
    Closed,
}
Expand description

Represents the stdin stream of a child process.

stdin is always configured as piped, so it starts as Open with a ChildStdin handle that can be used to write data to the process. It can be explicitly closed by calling Stdin::close, or implicitly closed by terminal wait helpers such as ProcessHandle::wait_for_completion and ProcessHandle::kill, after which it transitions to the Closed state. Note that some operations (kill) close stdin early in order to match the behavior of tokio.

Variants§

§

Open(ChildStdin)

stdin is open and available for writing.

§

Closed

stdin has been closed.

Implementations§

Source§

impl Stdin

Source

pub fn is_open(&self) -> bool

Returns true if stdin is open and available for writing.

Source

pub fn as_mut(&mut self) -> Option<&mut ChildStdin>

Returns a mutable reference to the underlying ChildStdin if open, or None if closed.

Source

pub fn close(&mut self)

Closes stdin by dropping the underlying ChildStdin handle.

This sends EOF to the child process. After calling this method, this stdin will be in the Closed state and no further writes will be possible. Terminal wait helpers such as ProcessHandle::wait_for_completion and ProcessHandle::kill also close any still-open stdin automatically; call this method when the child must observe EOF earlier.

Trait Implementations§

Source§

impl Debug for Stdin

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Stdin

§

impl RefUnwindSafe for Stdin

§

impl Send for Stdin

§

impl Sync for Stdin

§

impl Unpin for Stdin

§

impl UnsafeUnpin for Stdin

§

impl UnwindSafe for Stdin

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Sink for T
where T: Send + 'static,