From 913d2c45b32e10e3920bcc25535ba362a512d31a Mon Sep 17 00:00:00 2001 From: link2xt Date: Thu, 24 Oct 2024 18:53:37 +0000 Subject: [PATCH] fix: do not wait for connections in maybe_add_gossip_peers() join() method of Gossip [1] waits for at least one connection and this is not what we want because it may block receive_imf() forever if no connection arrives. [1] https://docs.rs/iroh-gossip/0.25.0/iroh_gossip/net/struct.Gossip.html#method.join --- src/peer_channels.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/peer_channels.rs b/src/peer_channels.rs index 21860ac4c..b4ebc1fe3 100644 --- a/src/peer_channels.rs +++ b/src/peer_channels.rs @@ -143,9 +143,10 @@ impl Iroh { self.endpoint.add_node_addr(peer.clone())?; } - self.gossip - .join(topic, peers.into_iter().map(|peer| peer.node_id).collect()) - .await?; + self.gossip.join_with_opts( + topic, + JoinOptions::with_bootstrap(peers.into_iter().map(|peer| peer.node_id)), + ); } Ok(()) }