Step

Trait Step 

Source
pub trait Step<Args, FlowSink, Encode>
where FlowSink: WeakTaskSink<Self::Response>,
{ type Response; type Error: Send; // Required method fn run( &mut self, ctx: &StepContext<FlowSink, Encode>, step: Task<Args, FlowSink::Context, FlowSink::IdType>, ) -> impl Future<Output = Result<GoTo<Self::Response>, Self::Error>> + Send; }

Required Associated Types§

Required Methods§

Source

fn run( &mut self, ctx: &StepContext<FlowSink, Encode>, step: Task<Args, FlowSink::Context, FlowSink::IdType>, ) -> impl Future<Output = Result<GoTo<Self::Response>, Self::Error>> + Send

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<Current, FlowSink, Encode, Compact> Step<Current, FlowSink, Encode> for DelayStep<Duration, Current>
where Current: Sync + Send + 'static, FlowSink: Sync + Unpin + WeakTaskSink<Current> + Send, FlowSink::Context: Send + Sync + Default + MetadataExt<WorkflowRequest>, FlowSink::Error: Into<BoxDynError> + Send + 'static, FlowSink::IdType: GenerateId + Send, Compact: Sync + Send, Encode: Codec<Current, Compact = Compact> + Sync + Send + 'static, Encode::Error: Error + Sync + Send + 'static, <FlowSink::Context as MetadataExt<WorkflowRequest>>::Error: Error + Sync + Send + 'static,

Source§

impl<S, Current, O, E, FlowSink, Encode, Compact> Step<Current, FlowSink, Encode> for ThenStep<S, Current>
where S: Service<Task<Current, FlowSink::Context, FlowSink::IdType>, Response = O, Error = E> + Sync + Send, Current: Sync + Send + 'static, S::Future: Send + 'static, S::Error: Into<BoxDynError>, E: Into<BoxDynError> + Send + Sync + 'static, O: Sync, FlowSink: Sync + Unpin + WeakTaskSink<O> + Send, FlowSink::Context: Send + Sync + Default + MetadataExt<WorkflowRequest>, FlowSink::Error: Into<BoxDynError> + Send + 'static, FlowSink::IdType: GenerateId + Send, Compact: Sync + Send, Encode: Codec<Current, Compact = Compact> + Sync + Send + 'static, Encode::Error: Error + Sync + Send + 'static, <FlowSink::Context as MetadataExt<WorkflowRequest>>::Error: Error + Sync + Send + 'static,

Source§

type Response = <S as Service<Task<Current, <FlowSink as Backend>::Context, <FlowSink as Backend>::IdType>>>::Response

Source§

type Error = <S as Service<Task<Current, <FlowSink as Backend>::Context, <FlowSink as Backend>::IdType>>>::Error

Source§

impl<S, T, O, E, B, Compact, Encode> Step<T, B, Encode> for FilterMapStep<S, T, O>
where S: Service<Task<T, B::Context, B::IdType>, Response = Option<O>, Error = E> + Sync + Send, T: Sync + Send, S::Future: Send + 'static, S::Error: Into<BoxDynError>, E: Into<BoxDynError>, O: Sync + Send, B: Sync + Send + 'static + WeakTaskSink<Option<O>>, B::Context: Send + Sync, B::IdType: Send, Compact: Send + Sync, Encode: Codec<T, Compact = Compact> + Sync,

Source§

type Response = <S as Service<Task<T, <B as Backend>::Context, <B as Backend>::IdType>>>::Response

Source§

type Error = Box<dyn Error + Send + Sync>