tcplane/server/func/
trait.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use crate::*;
use std::{future::Future, pin::Pin};

pub trait AsyncFunc:
    Fn(ArcRwLockControllerData) -> Pin<Box<dyn Future<Output = ()> + Send + Sync + 'static>>
    + Send
    + Sync
    + 'static
{
}

pub trait AsyncFuncWithoutPin<Fut>:
    Fn(ArcRwLockControllerData) -> Fut + Send + Sync + 'static
where
    Fut: Future<Output = ()> + Send + 'static,
{
}

pub trait Func: Fn(ArcRwLockControllerData) + Send + Sync + 'static {}