mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-13 01:51:23 +00:00
feat(ping): don't close connections upon failures
Previously, the `libp2p-ping` module came with a policy to close a connection after X failed pings. This is only one of many possible policies on how users would want to do connection management. We remove this policy without a replacement. If users wish to restore this functionality, they can easily implement such policy themselves: The default value of `max_failures` was 1. To restore the previous functionality users can simply close the connection upon the first received ping error. In this same patch, we also simplify the API of `ping::Event` by removing the layer of `ping::Success` and instead reporting the RTT to the peer directly. Related: #3591. Pull-Request: #3947.
This commit is contained in:
@ -105,7 +105,8 @@ async fn main() {
|
||||
}
|
||||
SwarmEvent::Behaviour(MyBehaviourEvent::Ping(ping::Event {
|
||||
peer,
|
||||
result: Ok(ping::Success::Ping { rtt }),
|
||||
result: Ok(rtt),
|
||||
..
|
||||
})) if peer != rendezvous_point => {
|
||||
log::info!("Ping to {} is {}ms", peer, rtt.as_millis())
|
||||
}
|
||||
|
@ -106,7 +106,8 @@ async fn main() {
|
||||
}
|
||||
SwarmEvent::Behaviour(MyBehaviourEvent::Ping(ping::Event {
|
||||
peer,
|
||||
result: Ok(ping::Success::Ping { rtt }),
|
||||
result: Ok(rtt),
|
||||
..
|
||||
})) if peer != rendezvous_point => {
|
||||
log::info!("Ping to {} is {}ms", peer, rtt.as_millis())
|
||||
}
|
||||
|
@ -104,7 +104,8 @@ async fn main() {
|
||||
}
|
||||
SwarmEvent::Behaviour(MyBehaviourEvent::Ping(ping::Event {
|
||||
peer,
|
||||
result: Ok(ping::Success::Ping { rtt }),
|
||||
result: Ok(rtt),
|
||||
..
|
||||
})) if peer != rendezvous_point => {
|
||||
log::info!("Ping to {} is {}ms", peer, rtt.as_millis())
|
||||
}
|
||||
|
Reference in New Issue
Block a user