pub trait ConnectHandler<A: Adapter, T>: Send + Sync + 'static {
    // Required method
    fn call(&self, s: Arc<Socket<A>>, auth: Option<String>);
}
Expand description

Define a handler for the connect event. It is implemented for closures with up to 16 arguments. They must implement the FromConnectParts trait.

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

Required Methods§

source

fn call(&self, s: Arc<Socket<A>>, auth: Option<String>)

Call the handler with the given arguments.

Implementors§

source§

impl<A, F> ConnectHandler<A, (Sync,)> for F
where F: FnOnce() + Send + Sync + Clone + 'static, A: Adapter,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<A, F, Fut, T1, T2, T3, T4, T5> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ConnectHandler<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 = ()> + Send + 'static, A: Adapter, 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, T1> ConnectHandler<A, (Sync, T1)> for F
where F: FnOnce(T1) + Send + Sync + Clone + 'static, A: Adapter, T1: FromConnectParts<A> + Send,

source§

impl<A, F, T1, T2> ConnectHandler<A, (Sync, T1, T2)> for F
where F: FnOnce(T1, T2) + Send + Sync + Clone + 'static, A: Adapter, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send,

source§

impl<A, F, T1, T2, T3> ConnectHandler<A, (Sync, T1, T2, T3)> for F
where F: FnOnce(T1, T2, T3) + Send + Sync + Clone + 'static, A: Adapter, T1: FromConnectParts<A> + Send, T2: FromConnectParts<A> + Send, T3: FromConnectParts<A> + Send,

source§

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

source§

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

source§

impl<A, F, T1, T2, T3, T4, T5, T6> ConnectHandler<A, (Sync, T1, T2, T3, T4, T5, T6)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7> ConnectHandler<A, (Sync, T1, T2, T3, T4, T5, T6, T7)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8> ConnectHandler<A, (Sync, T1, T2, T3, T4, T5, T6, T7, T8)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ConnectHandler<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) + Send + Sync + Clone + 'static, A: Adapter, 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,