Trait ConnectMiddleware

Source
pub trait ConnectMiddleware<A: Adapter, T>:
    Sized
    + Clone
    + Send
    + Sync
    + 'static {
    // Required method
    fn call<'a>(
        &'a self,
        s: Arc<Socket<A>>,
        auth: &'a Option<Value>,
    ) -> impl Future<Output = Result<(), Box<dyn Display + Send>>> + Send;
}
Expand description

Define a middleware for the connect event. It is implemented for closures with up to 16 arguments. They must implement the FromConnectParts trait and return Result<(), E> where E: Display.

  • See the connect module doc for more details on connect middlewares.
  • See the extract module doc for more details on available extractors.

Required Methods§

Source

fn call<'a>( &'a self, s: Arc<Socket<A>>, auth: &'a Option<Value>, ) -> impl Future<Output = Result<(), Box<dyn Display + Send>>> + Send

Call the middleware with the given arguments.

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<A, F, E> ConnectMiddleware<A, (Sync,)> for F
where F: FnOnce() -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static,

Source§

impl<A, F, E, T1> ConnectMiddleware<A, (Sync, T1)> for F
where F: FnOnce(T1) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2> ConnectMiddleware<A, (Sync, T1, T2)> for F
where F: FnOnce(T1, T2) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3> ConnectMiddleware<A, (Sync, T1, T2, T3)> for F
where F: FnOnce(T1, T2, T3) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4> ConnectMiddleware<A, (Sync, T1, T2, T3, T4)> for F
where F: FnOnce(T1, T2, T3, T4) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5)> for F
where F: FnOnce(T1, T2, T3, T4, T5) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send, T14: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send, T14: FromConnectParts<A> + Send, T15: FromConnectParts<A> + Send,

Source§

impl<A, F, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ConnectMiddleware<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Result<(), E> + Send + Sync + Clone + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send, T14: FromConnectParts<A> + Send, T15: FromConnectParts<A> + Send, T16: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E> ConnectMiddleware<A, (Async,)> for F
where F: FnOnce() -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static,

Source§

impl<A, F, Fut, E, T1> ConnectMiddleware<A, (Async, T1)> for F
where F: FnOnce(T1) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2> ConnectMiddleware<A, (Async, T1, T2)> for F
where F: FnOnce(T1, T2) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3> ConnectMiddleware<A, (Async, T1, T2, T3)> for F
where F: FnOnce(T1, T2, T3) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4> ConnectMiddleware<A, (Async, T1, T2, T3, T4)> for F
where F: FnOnce(T1, T2, T3, T4) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5)> for F
where F: FnOnce(T1, T2, T3, T4, T5) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send, T14: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send, T14: FromConnectParts<A> + Send, T15: FromConnectParts<A> + Send,

Source§

impl<A, F, Fut, E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ConnectMiddleware<A, (Async, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Send + Sync + Clone + 'static, Fut: Future<Output = Result<(), E>> + Send + 'static, A: Adapter, E: Display + Send + 'static, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send, T4: FromConnectParts<A> + Send, T5: FromConnectParts<A> + Send, T6: FromConnectParts<A> + Send, T7: FromConnectParts<A> + Send, T8: FromConnectParts<A> + Send, T9: FromConnectParts<A> + Send, T10: FromConnectParts<A> + Send, T11: FromConnectParts<A> + Send, T12: FromConnectParts<A> + Send, T13: FromConnectParts<A> + Send, T14: FromConnectParts<A> + Send, T15: FromConnectParts<A> + Send, T16: FromConnectParts<A> + Send,