pub async fn run_server( config: ServerConfig, shutdown: Receiver<bool>, on_ready: Option<Sender<Result<SocketAddr, String>>>, ) -> Result<()>