Skip to content

Commit 3581061

Browse files
committed
remove mesh fix for subsequent commit
1 parent 0bf29a7 commit 3581061

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

protocols/gossipsub/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
## 0.50.0
2+
- Fix underflow when shuffling peers after prunning.
3+
See [PR 6183](https://github.com/libp2p/rust-libp2p/pull/6183)
4+
25
- Remove peer penalty for duplicate messages.
36
See [PR 6112](https://github.com/libp2p/rust-libp2p/pull/6112)
47

protocols/gossipsub/src/behaviour.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1366,6 +1366,8 @@ where
13661366
tracing::error!(peer_id = %peer_id, "Peer non-existent when handling graft");
13671367
return;
13681368
};
1369+
// Needs to be here to comply with the borrow checker.
1370+
let is_outbound = connected_peer.outbound;
13691371

13701372
// For each topic, if a peer has grafted us, then we necessarily must be in their mesh
13711373
// and they must be subscribed to the topic. Ensure we have recorded the mapping.
@@ -1453,9 +1455,10 @@ where
14531455
}
14541456

14551457
// check mesh upper bound and only allow graft if the upper bound is not reached
1458+
// or if it is an outbound peer
14561459
let mesh_n_high = self.config.mesh_n_high_for_topic(&topic_hash);
14571460

1458-
if peers.len() >= mesh_n_high {
1461+
if peers.len() >= mesh_n_high && !is_outbound {
14591462
to_prune_topics.insert(topic_hash.clone());
14601463
continue;
14611464
}

0 commit comments

Comments
 (0)