pub async fn bind(spec: &ForwardSpec) -> Result<TcpListener, Error>Expand description
Binds the listener and reports the address, without serving anything yet.
Split from serving so a caller can print “listening on 8080” before the first connection, and so a bind failure — the common one, an address already in use — is a distinct error from a forwarding failure.