[][src]Struct grep_cli::CommandReaderBuilder

pub struct CommandReaderBuilder { /* fields omitted */ }

Configures and builds a streaming reader for process output.

Methods

impl CommandReaderBuilder[src]

pub fn new() -> CommandReaderBuilder[src]

Create a new builder with the default configuration.

pub fn build(
    &self,
    command: &mut Command
) -> Result<CommandReader, CommandError>
[src]

Build a new streaming reader for the given command's output.

The caller should set everything that's required on the given command before building a reader, such as its arguments, environment and current working directory. Settings such as the stdout and stderr (but not stdin) pipes will be overridden so that they can be controlled by the reader.

If there was a problem spawning the given command, then its error is returned.

pub fn async_stderr(&mut self, yes: bool) -> &mut CommandReaderBuilder[src]

When enabled, the reader will asynchronously read the contents of the command's stderr output. When disabled, stderr is only read after the stdout stream has been exhausted (or if the process quits with an error code).

Note that when enabled, this may require launching an additional thread in order to read stderr. This is done so that the process being executed is never blocked from writing to stdout or stderr. If this is disabled, then it is possible for the process to fill up the stderr buffer and deadlock.

This is enabled by default.

Trait Implementations

impl Clone for CommandReaderBuilder[src]

impl Debug for CommandReaderBuilder[src]

impl Default for CommandReaderBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.