Skip to main content

StepContext

Struct StepContext 

Source
pub struct StepContext<S: EngineSpec> { /* private fields */ }
Expand description

Context for a step’s execution function.

This is passed into the function registered for a step, and can be used to send progress updates as the function continues execution.

§Notes

StepContext deliberately does not implement Clone, to make it more likely that it is dropped at the same time the future completes.

Implementations§

Source§

impl<S: EngineSpec> StepContext<S>

Source

pub async fn send_progress(&self, progress: StepProgress<S>)

Sends a progress update to the update engine.

Source

pub async fn send_nested_report<S2: EngineSpec>( &self, report: EventReport<S2>, ) -> Result<(), NestedEngineError<GenericSpec>>

Sends a report from a nested engine, typically one running on a remote machine.

Returns an error if a StepEventKind::ExecutionFailed event was seen.

Source

pub async fn with_nested_engine<'a, 'this, F, S2>( &'this self, engine_fn: F, ) -> Result<CompletionContext<S2>, NestedEngineError<S2>>
where F: FnOnce(&mut UpdateEngine<'a, S2>) -> Result<(), S2::Error> + Send, S2: EngineSpec + 'a, 'this: 'a,

Creates a nested execution engine.

An individual step can generate other steps: these steps are treated as nested, and carry their own progress.

Source

pub fn token(&self) -> &StepHandleToken<S>

Retrieves a token used to fetch the value out of a StepHandle.

Trait Implementations§

Source§

impl<S: Debug + EngineSpec> Debug for StepContext<S>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> !Freeze for StepContext<S>

§

impl<S> RefUnwindSafe for StepContext<S>
where S: RefUnwindSafe,

§

impl<S> Send for StepContext<S>

§

impl<S> Sync for StepContext<S>
where S: Sync,

§

impl<S> Unpin for StepContext<S>
where S: Unpin,

§

impl<S> UnsafeUnpin for StepContext<S>

§

impl<S> UnwindSafe for StepContext<S>
where S: UnwindSafe,

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, 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> SendSyncUnwindSafe for T
where T: Send + Sync + UnwindSafe + ?Sized,