Trait Linkable

Source
pub trait Linkable {
    type OUT: Send + Sync;

    // Provided methods
    fn then_async<F, FUT, NXT>(self, f: F) -> AsyncConnect<Self, F>
       where F: Fn(Self::OUT) -> FUT,
             FUT: Future<Output = NXT> + Send + Sync,
             Self: Sized { ... }
    fn then_async_result<F, FUT, NXT>(
        self,
        f: F,
    ) -> AsyncConnect<Self, ErrorFuc<F>>
       where F: Fn(Self::OUT) -> FUT,
             FUT: Future<Output = Result<NXT, Error>> + Send + Sync,
             Self: Sized { ... }
    fn then<F, NXT>(self, f: F) -> Connect<Self, F>
       where F: Fn(Self::OUT) -> NXT,
             Self: Sized { ... }
    fn then_result<F, NXT>(self, f: F) -> Connect<Self, ErrorFuc<F>>
       where F: Fn(Self::OUT) -> Result<NXT, Error>,
             Self: Sized { ... }
}

Required Associated Types§

Provided Methods§

Source

fn then_async<F, FUT, NXT>(self, f: F) -> AsyncConnect<Self, F>
where F: Fn(Self::OUT) -> FUT, FUT: Future<Output = NXT> + Send + Sync, Self: Sized,

Source

fn then_async_result<F, FUT, NXT>(self, f: F) -> AsyncConnect<Self, ErrorFuc<F>>
where F: Fn(Self::OUT) -> FUT, FUT: Future<Output = Result<NXT, Error>> + Send + Sync, Self: Sized,

Source

fn then<F, NXT>(self, f: F) -> Connect<Self, F>
where F: Fn(Self::OUT) -> NXT, Self: Sized,

Source

fn then_result<F, NXT>(self, f: F) -> Connect<Self, ErrorFuc<F>>
where F: Fn(Self::OUT) -> Result<NXT, Error>, Self: Sized,

Implementors§

Source§

impl<IN: Send + Sync> Linkable for Start<IN>

Source§

type OUT = IN

Source§

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

Source§

type OUT = NXT

Source§

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

Source§

type OUT = NXT

Source§

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

Source§

type OUT = NXT

Source§

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

Source§

type OUT = NXT