File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments