Finish lite-lite candidate selection - #968
Open
JoTurk wants to merge 1 commit into
Open
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #968 +/- ##
==========================================
- Coverage 88.31% 88.09% -0.23%
==========================================
Files 46 46
Lines 6368 6408 +40
==========================================
+ Hits 5624 5645 +21
- Misses 510 522 +12
- Partials 234 241 +7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Sean-Der
approved these changes
Sep 2, 2026
JoTurk
force-pushed
the
jo/finish-lite-lite-selection
branch
6 times, most recently
from
September 3, 2026 00:30
ac110a8 to
e927a7b
Compare
JoTurk
force-pushed
the
jo/finish-lite-lite-selection
branch
from
September 3, 2026 00:35
e927a7b to
42c6883
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
While testing pion/ice@main against WebRTC, I noticed that TestPeerConnection_IceLite was failing. Pion supports ICE-lite to ICE-lite connections in both the controlling and controlled roles, but it did not correctly handle pair selection with multiple candidates #959 and #961
ICE-lite agents do not send connectivity checks, so the previously selected pair could remain selected even when a better candidate pair became available later. ICE-lite behavior is defined across several sections of RFC 8445, particularly Section 6.2. Candidate priority uniqueness is required by Section 5.1.2.
This change assigns unique priorities to locally gathered ICE-lite candidates and re-evaluates the standard ICE pair-priority ordering as candidates arrive. Both peers can select the same best pair and switch when a higher-priority pair becomes available, without sending connectivity checks.
Tldr: this fixes a race where both agents select different candidates because of the lack of connectivity checks.