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(crate) wait_hook: Arc<dyn Fn() -> SendableAsyncTask<()> + Send + Sync>,
#[get(type(clone))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) shutdown_hook: Arc<dyn Fn() -> SendableAsyncTask<()> + Send + Sync>,
}
#[derive(Clone, Data)]
pub(crate) struct HandlerState {
#[get(pub(crate), type(clone))]
#[get_mut(skip)]
#[set(skip)]
pub(super) socket: ArcRwLockUdpSocket,
}