use super::*;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DefaultServerHook;
#[derive(Clone, Data)]
pub struct ServerControlHook {
#[get(type(clone))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub wait_hook: Arc<dyn Fn() -> SendableAsyncTask<()> + Send + Sync>,
#[get(type(clone))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub shutdown_hook: Arc<dyn Fn() -> SendableAsyncTask<()> + Send + Sync>,
}
#[derive(Clone, Getter)]
pub(crate) struct HandlerState {
#[get(pub(crate), type(clone))]
pub(super) socket: ArcRwLockUdpSocket,
}