diff options
Diffstat (limited to 'src/swarm')
| -rw-r--r-- | src/swarm/peer/handshake.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/swarm/peer/handshake.rs b/src/swarm/peer/handshake.rs index 4a7f451..1183db1 100644 --- a/src/swarm/peer/handshake.rs +++ b/src/swarm/peer/handshake.rs @@ -160,7 +160,14 @@ async fn transmit_hello(state: &AppState, peer: &str) -> Result<()> { } } - result.context("Sending HELLO") + match result { + // The first HELLO to a peer known only from hints: expected, and retried. + Err(error) if transport::identity::is_not_proven(&error) => { + debug!(peer = %peer, "HELLO waits until the peer proves where it is; will retry"); + Ok(()) + } + result => result.context("Sending HELLO"), + } } pub(super) async fn ensure_handshake(state: &AppState, peer: &str) { |
