pub(crate) async fn serve_router( listener: TcpListener, mode: &str, router: Router, max_connections: Option<usize>, ) -> Result<()>