pub struct SpecDriver { /* private fields */ }Expand description
Durable driver compiled from a product spec; see the module docs.
Implementations§
Source§impl SpecDriver
impl SpecDriver
Trait Implementations§
Source§impl<Context: Send + Sync> WorkflowDriver<Context> for SpecDriver
impl<Context: Send + Sync> WorkflowDriver<Context> for SpecDriver
Source§fn validate_specs(&self) -> Result<(), String>
fn validate_specs(&self) -> Result<(), String>
Reject a spec set the driver cannot serve; the reason is reported as
SupervisorError::Driver.Source§fn evaluate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 Context,
item: &'life2 WorkItem,
) -> Pin<Box<dyn Future<Output = Result<WorkflowTransitionCommand, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn evaluate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 Context,
item: &'life2 WorkItem,
) -> Pin<Box<dyn Future<Output = Result<WorkflowTransitionCommand, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Evaluate deterministic workflow state and return one durable command.
External effects must be represented as prepared
ActionIntents and
dispatched later by a registered provider.Source§fn supports_revision(&self, _item: &WorkItem) -> bool
fn supports_revision(&self, _item: &WorkItem) -> bool
Explicitly admit the exact revision and ABI a custom driver implements.
The default refuses execution rather than silently accepting new revisions.
Auto Trait Implementations§
impl !RefUnwindSafe for SpecDriver
impl !UnwindSafe for SpecDriver
impl Freeze for SpecDriver
impl Send for SpecDriver
impl Sync for SpecDriver
impl Unpin for SpecDriver
impl UnsafeUnpin for SpecDriver
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