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>
impl<S: EngineSpec> StepContext<S>
Sourcepub async fn send_progress(&self, progress: StepProgress<S>)
pub async fn send_progress(&self, progress: StepProgress<S>)
Sends a progress update to the update engine.
Sourcepub async fn send_nested_report<S2: EngineSpec>(
&self,
report: EventReport<S2>,
) -> Result<(), NestedEngineError<GenericSpec>>
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.
Sourcepub 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,
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.
Sourcepub fn token(&self) -> &StepHandleToken<S>
pub fn token(&self) -> &StepHandleToken<S>
Retrieves a token used to fetch the value out of a
StepHandle.
Trait Implementations§
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more