pub async fn run(listener: TcpListener) -> Result<(), Box<dyn Error>>
Run the broker server on the given listener (runs until the process is killed). Useful for integration tests that need a server on a random port.