Trait Pipeline

Source
pub trait Pipeline: Linkable {
    type IN: Send + Sync;

    // Required method
    fn process<'life0, 'async_trait>(
        &'life0 self,
        input: Self::IN,
    ) -> Pin<Box<dyn Future<Output = Result<Self::OUT, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Associated Types§

Required Methods§

Source

fn process<'life0, 'async_trait>( &'life0 self, input: Self::IN, ) -> Pin<Box<dyn Future<Output = Result<Self::OUT, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§

Source§

impl<NXT, F, IN> Pipeline for Connect<Start<IN>, ErrorFuc<F>>
where IN: Sync + Send, F: Fn(IN) -> Result<NXT, Error> + Sync + Send, NXT: Send + Sync,

Source§

type IN = IN

Source§

impl<NXT, F, IN> Pipeline for Connect<Start<IN>, F>
where F: Fn(IN) -> NXT + Send + Sync, NXT: Send + Sync, IN: Send + Sync,

Source§

type IN = IN

Source§

impl<NXT, F, P> Pipeline for Connect<P, ErrorFuc<F>>
where P: Pipeline + Sync + Send, F: Fn(P::OUT) -> Result<NXT, Error> + Sync + Send, NXT: Send + Sync,

Source§

type IN = <P as Pipeline>::IN

Source§

impl<NXT, F, P> Pipeline for Connect<P, F>
where P: Pipeline + Sync + Send, F: Fn(P::OUT) -> NXT + Sync + Send, NXT: Send + Sync,

Source§

type IN = <P as Pipeline>::IN

Source§

impl<NXT, Fut, F, IN> Pipeline for AsyncConnect<Start<IN>, ErrorFuc<F>>
where IN: Sync + Send, F: Fn(IN) -> Fut + Sync + Send, Fut: Future<Output = Result<NXT, Error>> + Send + Sync + 'static, NXT: Send + Sync,

Source§

type IN = IN

Source§

impl<NXT, Fut, F, IN> Pipeline for AsyncConnect<Start<IN>, F>
where F: Fn(IN) -> Fut + 'static + Send + Sync, Fut: Future<Output = NXT> + Send + Sync + 'static, NXT: Send + Sync, IN: Send + Sync,

Source§

type IN = IN

Source§

impl<NXT, Fut, F, P> Pipeline for AsyncConnect<P, ErrorFuc<F>>
where F: Fn(P::OUT) -> Fut + Send + Sync, Fut: Future<Output = Result<NXT, Error>> + Send + Sync + 'static, NXT: Send + Sync, P: Pipeline + Send + Sync,

Source§

type IN = <P as Pipeline>::IN

Source§

impl<NXT, Fut, F, P> Pipeline for AsyncConnect<P, F>
where P: Pipeline + Sync + Send, F: Fn(P::OUT) -> Fut + 'static + Send + Sync, Fut: Future<Output = NXT> + Send + Sync + 'static, NXT: Send + Sync,

Source§

type IN = <P as Pipeline>::IN