diff --git a/swarm/CHANGELOG.md b/swarm/CHANGELOG.md index 1506351e..65d5e6c8 100644 --- a/swarm/CHANGELOG.md +++ b/swarm/CHANGELOG.md @@ -2,6 +2,9 @@ - Make `OneShotHandler`s `max_dial_negotiate` limit configurable. [PR 1936](https://github.com/libp2p/rust-libp2p/pull/1936). + +- Fix handling of DialPeerCondition::Always. + [PR 1937](https://github.com/libp2p/rust-libp2p/pull/1937). # 0.27.0 [2021-01-12] diff --git a/swarm/src/lib.rs b/swarm/src/lib.rs index 77dd4605..540c2318 100644 --- a/swarm/src/lib.rs +++ b/swarm/src/lib.rs @@ -691,11 +691,9 @@ where TBehaviour: NetworkBehaviour, this.behaviour.inject_dial_failure(&peer_id); } else { let condition_matched = match condition { - DialPeerCondition::Disconnected - if this.network.is_disconnected(&peer_id) => true, - DialPeerCondition::NotDialing - if !this.network.is_dialing(&peer_id) => true, - _ => false + DialPeerCondition::Disconnected => this.network.is_disconnected(&peer_id), + DialPeerCondition::NotDialing => !this.network.is_dialing(&peer_id), + DialPeerCondition::Always => true, }; if condition_matched { if ExpandedSwarm::dial(this, &peer_id).is_ok() {