WorkflowSink

Trait WorkflowSink 

Source
pub trait WorkflowSink<Args>: BackendExt
where Self::Codec: Codec<Args, Compact = Self::Compact>,
{ // Required method fn push_step( &mut self, step: Args, index: usize, ) -> impl Future<Output = Result<(), TaskSinkError<Self::Error>>> + Send; // Provided method fn push_start( &mut self, step: Args, ) -> impl Future<Output = Result<(), TaskSinkError<Self::Error>>> + Send { ... } }
Expand description

Extension trait for pushing tasks into a workflow

Required Methods§

Source

fn push_step( &mut self, step: Args, index: usize, ) -> impl Future<Output = Result<(), TaskSinkError<Self::Error>>> + Send

Push a step into the workflow sink at the specified index

Provided Methods§

Source

fn push_start( &mut self, step: Args, ) -> impl Future<Output = Result<(), TaskSinkError<Self::Error>>> + Send

Push a step into the workflow sink at the start

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<S, Args: Send, Compact, Err> WorkflowSink<Args> for S
where S: Sink<Task<Compact, S::Context, S::IdType>, Error = Err> + BackendExt<Error = Err, Compact = Compact> + Unpin + Send, S::IdType: GenerateId + Send, S::Codec: Codec<Args, Compact = Compact>, S::Context: MetadataExt<WorkflowContext> + Send, Err: Error + Send + Sync + 'static, <S::Codec as Codec<Args>>::Error: Into<BoxDynError> + Send + Sync + 'static, <S::Context as MetadataExt<WorkflowContext>>::Error: Into<BoxDynError> + Send + Sync + 'static, Compact: Send + 'static,