1 2 3 4 5 6 7 8 9
#[async_trait::async_trait] pub trait Module: Send + Sync { type AppConfig; fn name(&self) -> &'static str { std::any::type_name::<Self>() } async fn init(&self) {} fn configure(&self, cfg: &mut Self::AppConfig); }