fix: do not count bypassed connections in established counters #6218
+19
−15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change enforces the documented contract that connections matching bypass rules “won’t be counted toward limits.” Previously, while bypassed peers skipped limit checks in handle_established_*, established counters were still incremented unconditionally in on_swarm_event() upon FromSwarm::ConnectionEstablished, causing bypassed connections to inflate total and per-peer counts. This contradicted both the crate-level documentation and the 0.6.0 changelog entry introducing bypass semantics. The fix guards established counter updates behind !is_bypassed(&peer_id), ensuring bypassed connections are neither checked nor counted. Additionally, the per-peer removal path on ConnectionClosed no longer creates empty entries with .or_default() and removes the map entry when empty, preventing stale allocations, which is particularly relevant now that bypassed connections are not inserted into the per-peer map.