Skip to main content

StreamOptions

Struct StreamOptions 

Source
#[non_exhaustive]
pub struct StreamOptions { pub timeout: Option<Duration>, pub poll: Duration, pub stdout_tail_cap: usize, pub stderr_tail_cap: usize, pub no_window: bool, pub input: Option<Vec<u8>>, }
Expand description

Limits and options for run_streaming. Build one with StreamOptions::new (or Default) and the builder methods; the struct is #[non_exhaustive], so later options do not break callers.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§timeout: Option<Duration>

How long the program may run before its tree is terminated. None (the default) is no deadline: only the child’s exit or the cancel predicate ends the call.

§poll: Duration

The longest the call goes without evaluating the cancel predicate and the deadline (default 100 ms). The predicate is evaluated at least this often, however much output is flowing. Values under 1 ms behave as 1 ms.

§stdout_tail_cap: usize

Most bytes of stdout kept in StreamOutput::stdout_tail: the last ones (default 64 KiB).

§stderr_tail_cap: usize

Most bytes of stderr kept in StreamOutput::stderr_tail: the last ones (default 64 KiB).

§no_window: bool

Hide the console window on Windows. The default. false leaves it visible.

§input: Option<Vec<u8>>

Bytes written to the child’s stdin, then EOF. None (the default) gives it a null stdin.

Implementations§

Source§

impl StreamOptions

Source

pub fn new() -> Self

No deadline, a 100 ms poll, 64 KiB tails, no window, null stdin.

Source

pub fn timeout(self, timeout: Duration) -> Self

Source

pub fn poll(self, poll: Duration) -> Self

Source

pub fn stdout_tail_cap(self, bytes: usize) -> Self

Source

pub fn stderr_tail_cap(self, bytes: usize) -> Self

Source

pub fn no_window(self, hidden: bool) -> Self

Source

pub fn input(self, bytes: impl Into<Vec<u8>>) -> Self

Trait Implementations§

Source§

impl Clone for StreamOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StreamOptions

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for StreamOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for StreamOptions

Source§

impl PartialEq for StreamOptions

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for StreamOptions

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.