pub async fn serve(
state: Arc<TransportState>,
listener: TcpListener,
updates: UnboundedReceiver<SeatUpdate>,
) -> Result<()>Expand description
Serve the socket on listener until the process ends.
The listener is the caller’s rather than bound here, so a test can bind port 0 and know the address it bound, and so a caller that cannot bind decides for itself whether that is fatal - which is what keeps a busy port from becoming a new way for forge to refuse to start.