Skip to main content

ExecOptions

Struct ExecOptions 

Source
pub struct ExecOptions {
    pub cwd: Option<PathBuf>,
    pub root: Option<PathBuf>,
    pub timeout_ms: u64,
    pub max_output_bytes: usize,
    pub stdin: Option<Vec<u8>>,
}
Expand description

Bounded process execution options.

Fields§

§cwd: Option<PathBuf>

Directory the child runs in.

When set, the directory must canonicalize inside root.

§root: Option<PathBuf>

Root that confines cwd.

When cwd is set and this is absent, the current process directory is the confinement root. When this is set and cwd is absent, the child runs in this root directory.

§timeout_ms: u64

Mandatory timeout in milliseconds. Zero is rejected before spawning.

§max_output_bytes: usize

Maximum total captured stdout plus stderr bytes.

§stdin: Option<Vec<u8>>

Optional stdin bytes written to the child.

Implementations§

Source§

impl ExecOptions

Source

pub fn new(timeout_ms: u64, max_output_bytes: usize) -> Self

Builds process options with a timeout and output cap.

Source

pub fn with_cwd(self, cwd: impl Into<PathBuf>, root: impl Into<PathBuf>) -> Self

Returns options with a confined working directory.

Source

pub fn with_stdin(self, stdin: impl Into<Vec<u8>>) -> Self

Returns options with stdin bytes.

Trait Implementations§

Source§

impl Clone for ExecOptions

Source§

fn clone(&self) -> ExecOptions

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 ExecOptions

Source§

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

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

impl Eq for ExecOptions

Source§

impl PartialEq for ExecOptions

Source§

fn eq(&self, other: &ExecOptions) -> 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 ExecOptions

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 = 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.