From e85441c914489ac01f2a6d32a4d67934970b886a Mon Sep 17 00:00:00 2001 From: teor Date: Mon, 15 Feb 2021 11:43:49 +1000 Subject: [PATCH] Add a correctness comment to justify the revert --- zebra-network/src/peer_set/initialize.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/zebra-network/src/peer_set/initialize.rs b/zebra-network/src/peer_set/initialize.rs index 0d5e8afab..4da309dcd 100644 --- a/zebra-network/src/peer_set/initialize.rs +++ b/zebra-network/src/peer_set/initialize.rs @@ -194,6 +194,12 @@ where S::Future: Send + 'static, { info!(?initial_peers, "Connecting to initial peer set"); + // ## Correctness: + // + // Each `CallAll` can hold one `Buffer` or `Batch` reservation for + // an indefinite period. We can use `CallAllUnordered` without filling + // the underlying `Inbound` buffer, because we immediately drive this + // single `CallAll` to completion, and handshakes have a short timeout. use tower::util::CallAllUnordered; let addr_stream = futures::stream::iter(initial_peers.into_iter()); let mut handshakes = CallAllUnordered::new(connector, addr_stream);