fix(swarm): gracefully disable oneshot handler on dial upgrade errors

Resolves https://github.com/libp2p/rust-libp2p/issues/3269.

Pull-Request: #3577.
This commit is contained in:
Victor Ermolaev
2023-03-13 21:37:59 +01:00
committed by GitHub
parent 2ec5402474
commit 2a18f7a5f0
3 changed files with 11 additions and 4 deletions

View File

@ -213,7 +213,8 @@ where
}
ConnectionEvent::DialUpgradeError(DialUpgradeError { error, .. }) => {
if self.pending_error.is_none() {
self.pending_error = Some(error);
log::debug!("DialUpgradeError: {error}");
self.keep_alive = KeepAlive::No;
}
}
ConnectionEvent::AddressChange(_) | ConnectionEvent::ListenUpgradeError(_) => {}