Skip to main content

SpacedeckExecutor

Struct SpacedeckExecutor 

pub struct SpacedeckExecutor { /* private fields */ }
Expand description

Runs each trial as a spacedeck-placed command.

ENV_SPACEDECK_CLI names the spacedeck executable when the default spacedeck is not on PATH. The constructor also accepts an explicit executable path, which is useful for controlled deployments and mock executables.

Implementations§

§

impl SpacedeckExecutor

pub fn try_new( schema: &SpaceSchema, target: &str, template: CommandTemplate, ) -> Result<Self>

Creates an executor for a declared space, spacedeck host selector, and argv template. The target command itself is passed as argv; no shell is introduced by this adapter.

§Errors

Returns Error::InvalidSpace when the target is empty or a command placeholder is absent from schema.

pub fn cli_path(self, path: &str) -> Self

Overrides the spacedeck executable path.

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

Applies a remote per-host timeout through spacedeck’s --timeout, in whole milliseconds rounded up (spacedeck parses integer durations only), so a nonzero timeout never reaches spacedeck as its “no bound” 0ms.

The spacedeck CLI itself is killed, failing the trial, if it has not answered within this timeout plus a grace of one minute. Without a timeout, or with a zero one (spacedeck’s “no bound”), it is waited for indefinitely.

pub fn pick(self, pick: SpacedeckPick) -> Result<Self>

Runs each trial on one host spacedeck picks from the target set, as pick constrains it, instead of on every host the target names.

The target stays the candidate set (--on), so a pick from @all considers every inventory host. spacedeck holds no slot for a run, so two trials picked at once can land on the same host.

§Errors

Returns Error::InvalidSpace when a window or size is empty or contains a NUL. spacedeck checks their syntax when a trial runs.

pub fn run(&self, study: &Study) -> Result<()>

Runs the executor through the study’s ordinary optimize loop.

§Errors

Returns a study/storage error, or Error::InvalidSpace when the study’s declared space does not contain every executor parameter.

Trait Implementations§

§

impl Clone for SpacedeckExecutor

§

fn clone(&self) -> SpacedeckExecutor

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
§

impl Debug for SpacedeckExecutor

§

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

Formats the value using the given formatter. Read more
§

impl Objective for SpacedeckExecutor

§

fn evaluate(&self, ctx: &mut TrialCtx<'_>) -> Result<Outcome>

Evaluates one trial. Read more

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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