pub struct WorkflowRegistration {
pub name: &'static str,
pub resume_fn: fn(Ctx) -> Pin<Box<dyn Future<Output = Result<(), DurableError>> + Send>>,
}Expand description
A compiled-in registration of a workflow function for automatic crash recovery.
Produced by #[durable::workflow] and collected at link time by inventory.
Only workflows with a single ctx: Ctx parameter are registered.
Fields§
§name: &'static strThe workflow name — must match the name passed to Ctx::start.
resume_fn: fn(Ctx) -> Pin<Box<dyn Future<Output = Result<(), DurableError>> + Send>>Resumes the workflow given a Ctx. Return type is erased; during
recovery we only care about driving the workflow to completion.
Trait Implementations§
impl Collect for WorkflowRegistration
Auto Trait Implementations§
impl Freeze for WorkflowRegistration
impl RefUnwindSafe for WorkflowRegistration
impl Send for WorkflowRegistration
impl Sync for WorkflowRegistration
impl Unpin for WorkflowRegistration
impl UnsafeUnpin for WorkflowRegistration
impl UnwindSafe for WorkflowRegistration
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more