pub async fn serve(
cfg: ResolverConfig,
addr: SocketAddr,
bind_tx: Sender<Result<(), String>>,
cancel: CancellationToken,
) -> Result<()>Expand description
Run the responder on addr over both UDP and TCP until cancel fires.
bind_tx reports the bind result so the supervisor can surface a port
conflict immediately instead of discovering it from a log line.