pub(super) async fn serve<'a>(
app: &Router,
handle: &Handle<SocketAddr>,
cert: &Path,
key: &Path,
dual_protocol: bool,
listeners: impl Iterator<Item = TcpListener>,
addrs: &[SocketAddr],
) -> Result<Vec<BoxFuture<'a, Result<(), Error>>>>