}), format!("client {}", &ic)));
}
- for saddr in &global.config.addrs {
+ let listeners = {
+ let mut listeners = vec![];
+ for saddr in &global.config.addrs {
+ let saddr = SocketAddr::new(*saddr, global.config.port);
+ // TODO move bind() here
+ let listener = ();
+ listeners.push((saddr, listener));
+ }
+ listeners
+ };
+
+ for (saddr, listener) in listeners {
let make_service = hyper::service::make_service_fn({
let global = global.clone();
move |conn: &hyper::server::conn::AddrStream| {
}
});
- let saddr = SocketAddr::new(*saddr, global.config.port);
+ let () = listener; // TODO move bind() earlier.
let server = hyper::Server::try_bind(&saddr)
.context("bind")?
.http1_preserve_header_case(true)