Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pass Candidate Protocol arounds along with Address(es) so that routing to the correct ICE route can be done cleanly. #389

Closed
wants to merge 1 commit into from

Conversation

efer-ms
Copy link
Contributor

@efer-ms efer-ms commented Oct 17, 2023

With this change it is possible to have UDP and TCP candidates that use the same port number, as well as, the ability to create non-UDP host candidates manually (via the Candidate::host function.

Synopsis of the changes:

  • proto on Candidate has been change from a String to an enum CandidateProtocol
  • Functions that create Candidates now take the CandidateProtocol, rather than sometimes simply using "udp"
  • do_prio() in Candidate now takes into account protocol as well as candidate type. This matches libwebtc values.
  • Candidates are now considered redundant only if the old rules that were applied are still true, and the protos match
  • Candidates being placed in pairs, must have the same protocol
  • StunRequest, NominatedSend, DiscoveredRecv, Receive, Transmit all now includes protocol the Candidate used in addition to the address(es).

@algesten
Copy link
Owner

Wow! This looks amazing! I'll review tomorrow.

Thanks!

a string, and then utilize CandidateProtocol along
with SocketAddr to uniquely identify a Candidates and
Candidate pairs.
@algesten
Copy link
Owner

This is landed in #391 with some additional tweaks. Thanks!!!

@efer-ms efer-ms deleted the efer/candidates branch May 28, 2024 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants