Skip to main content

Pipeline

Trait Pipeline 

Source
pub trait Pipeline<I, O>:
    Send
    + Sync
    + 'static {
    // Required method
    fn apply(&self, ctx: Context<I>) -> impl Future<Output = O> + Send;
}
Expand description

Represents a pipeline unit that can be applied to a Context. Implementations are automatically provided for functions that match the signature.

Required Methods§

Source

fn apply(&self, ctx: Context<I>) -> impl Future<Output = O> + 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<F, G, I, O1, O2> Pipeline<I, O2> for Connect<F, G, I, O1, O2>
where F: Pipeline<I, O1>, G: Pipeline<O1, O2>, I: Clone + Send + Sync + 'static, O1: Send + Sync + 'static, O2: Send + Sync + 'static,

Source§

impl<F, P, I, O> Pipeline<I, Result<O, PipelineError>> for Cond<F, P, I, O>
where F: Pipeline<I, bool> + Send + Sync + 'static, P: Pipeline<I, O> + Send + Sync + 'static, I: Clone + Send + Sync + 'static, O: Send + 'static,

Source§

impl<I, O, P1> Pipeline<I, Result<O, PipelineError>> for Alt<(P1,)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2, P3> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2, P3)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>, P3: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2, P3, P4> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2, P3, P4)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>, P3: Pipeline<I, PResult<O>>, P4: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2, P3, P4, P5> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2, P3, P4, P5)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>, P3: Pipeline<I, PResult<O>>, P4: Pipeline<I, PResult<O>>, P5: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2, P3, P4, P5, P6> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2, P3, P4, P5, P6)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>, P3: Pipeline<I, PResult<O>>, P4: Pipeline<I, PResult<O>>, P5: Pipeline<I, PResult<O>>, P6: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2, P3, P4, P5, P6, P7> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2, P3, P4, P5, P6, P7)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>, P3: Pipeline<I, PResult<O>>, P4: Pipeline<I, PResult<O>>, P5: Pipeline<I, PResult<O>>, P6: Pipeline<I, PResult<O>>, P7: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2, P3, P4, P5, P6, P7, P8> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2, P3, P4, P5, P6, P7, P8)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>, P3: Pipeline<I, PResult<O>>, P4: Pipeline<I, PResult<O>>, P5: Pipeline<I, PResult<O>>, P6: Pipeline<I, PResult<O>>, P7: Pipeline<I, PResult<O>>, P8: Pipeline<I, PResult<O>>,

Source§

impl<I, O, P1, P2, P3, P4, P5, P6, P7, P8, P9> Pipeline<I, Result<O, PipelineError>> for Alt<(P1, P2, P3, P4, P5, P6, P7, P8, P9)>
where I: Clone + Send + Sync + 'static, O: Send + 'static, P1: Pipeline<I, PResult<O>>, P2: Pipeline<I, PResult<O>>, P3: Pipeline<I, PResult<O>>, P4: Pipeline<I, PResult<O>>, P5: Pipeline<I, PResult<O>>, P6: Pipeline<I, PResult<O>>, P7: Pipeline<I, PResult<O>>, P8: Pipeline<I, PResult<O>>, P9: Pipeline<I, PResult<O>>,

Source§

impl<P, Args, I, O> Pipeline<I, O> for Pipe<P, Args>
where P: Handler<I, O, Args>, I: Clone + Send + Sync + 'static, O: Send + 'static, Args: Send + Sync + 'static,

Source§

impl<P, F, I, O1, O2> Pipeline<I, O2> for Extend<P, F, I, O1, O2>
where P: Pipeline<I, O1>, F: Fn(O1) -> O2 + Send + Sync + 'static, I: Clone + Send + Sync + 'static, O1: Send + Sync + 'static, O2: Send + Sync + 'static,

Source§

impl<P, H, I2, I, O> Pipeline<I2, O> for Pullback<P, H, I2, I, O>
where P: Pipeline<I, O>, H: Pipeline<I2, I>, I2: Clone + Send + Sync + 'static, I: Send + Sync + 'static, O: Send + Sync + 'static,

Source§

impl<P, I> Pipeline<I, I> for Repeat<P, I>
where P: Pipeline<I, I>, I: Clone + Send + Sync + 'static,

Source§

impl<P, I, O> Pipeline<Vec<I>, Vec<O>> for Map<P, I, O>
where P: Pipeline<I, O> + Send + Sync + 'static, I: Clone + Send + Sync + 'static, O: Send + 'static,