diff --git a/zebra-network/src/peer_set/initialize.rs b/zebra-network/src/peer_set/initialize.rs index 5e6a939e..0d5e8afa 100644 --- a/zebra-network/src/peer_set/initialize.rs +++ b/zebra-network/src/peer_set/initialize.rs @@ -194,10 +194,9 @@ where S::Future: Send + 'static, { info!(?initial_peers, "Connecting to initial peer set"); - let mut handshakes = initial_peers - .iter() - .map(|request| connector.clone().oneshot(*request)) - .collect::>(); + use tower::util::CallAllUnordered; + let addr_stream = futures::stream::iter(initial_peers.into_iter()); + let mut handshakes = CallAllUnordered::new(connector, addr_stream); while let Some(handshake_result) = handshakes.next().await { tx.send(handshake_result).await?;