1use crate::*;
2
3pub type ArcRwLock<T> = Arc<RwLock<T>>;
7
8pub type ArcRwLockReadGuard<'a, T> = RwLockReadGuard<'a, T>;
10
11pub type ArcRwLockWriteGuard<'a, T> = RwLockWriteGuard<'a, T>;
13
14pub type HashMapArcAnySendSync = HashMap<String, Arc<dyn Any + Send + Sync>>;
16
17pub type OptionSocketAddr = Option<SocketAddr>;
19
20pub type OptionSocketHost = Option<std::net::IpAddr>;
22
23pub type OptionSocketPort = Option<u16>;
25
26pub type ResponseData = Vec<u8>;
28
29pub type ResponseResult = Result<(), ResponseError>;
31
32pub type ErrorHandleFn = dyn Fn(String) + Send + Sync;
34
35pub type ArcErrorHandle = Arc<ErrorHandleFn>;
37
38pub type ServerHookHandler =
40 Arc<dyn Fn(Context) -> Pin<Box<dyn Future<Output = ()> + Send + 'static>> + Send + Sync>;
41
42pub type ServerHookList = Vec<ServerHookHandler>;