Commit Graph
34 Commits
Author SHA1 Message Date
Pascal Fischer e72a50fcb6 fire callback method only on selected pair binding 2024-03-15 18:46:35 +01:00
Pascal Fischer bc851c5284 use binding requests to calculate latency for each candidate pair 2024-03-15 18:20:59 +01:00
renovate[bot]andSean DuBois 8d69e9ecd8 Update module github.com/pion/stun to v2
Generated by renovateBot
2023-09-08 14:25:52 -04:00
Steffen Vogel 53beccaed5 Harmonize capitalization of log messages 2023-07-04 05:15:54 +02:00
Steffen Vogel ecfb354131 Fix capitalization of log messages
Log messages must start with an upper case letter
2023-04-20 22:15:07 +02:00
Steffen Vogel f40dd65abb Fix comment capitalization
Comments should start with an uppercase letter.
2023-04-18 19:38:54 +02:00
Steffen Vogel 5ef81b65f4 Make package REUSE compliant 2023-04-18 13:46:38 +02:00
cnderrauberandcnderrauber 283943ec23 Aggressive nomination on binding response
Add aggressive nomination when nominateOnBindingSuccess
2022-12-29 18:56:05 +08:00
cnderrauberandcnderrauber 93980395c8 Fix muxed conn shared by candidate
When we have multiple host candidates and mux to a
single port, if these candidates share a same conn
(either tcp or udp), they might read other's msg
cause ice connection cost long time or failed.
2022-09-26 09:26:23 +08:00
Steffen VogelandSean DuBois e32a520e4c Do not use newlines in logging statements
A newline is automatically added by the DefaultLeveledLogger.
The current code-base used a mix of log statements w/o endlines.
This is misleading for custom loggers.
2022-05-08 22:53:42 -04:00
Sean DuBois 9b523704bb Enable acceptAggressiveNomination by default
Always accept Aggressive Nominations by remote agent

Relates to 18f7a214aa
2022-04-22 15:12:20 -04:00
cnderrauberandcnderrauber 18f7a214aa Accept aggressive nomination
Add config for accept aggressive nomination, it is useful for
compatible with chrome or other clients use aggressive nominate
to update nominate candidate pairs.
2022-04-21 15:18:01 +08:00
Sean DuBois e0db6d259e Don't drop Binding Requests in Controlled Agent
A controlled Agent would discard incoming Binding Requests if it didn't
cause the pair to be selected. For UDP Candidate this would be
interpreted as packet loss. For TCP Candidates not responding with a
Binding Success could be interpreted as a failure.

Firefox's ICE Agent would disconnect TCP Candidates because of this
behavior.

Resolves to pion/webrtc#2125
Resolves to pion/webrtc#1356
See https://bugzilla.mozilla.org/show_bug.cgi?id=1756460
2022-02-22 12:17:26 -05:00
Sean DuBois 6e4403794a Implement GetSelectedCandidatePair
Related to pion/webrtc#1713
2021-04-10 16:52:52 -07:00
Antoine BachéandSean DuBois 0cbd8a80cb ICE-Lite ControlledSelector now validates pairs
Fixes #288
2020-10-12 13:08:56 -07:00
PionandSean DuBois d3e1775d73 Update CI configs to v0.4.7
Update lint scripts and CI configs.
2020-09-26 08:54:24 -07:00
Sean DuBois c6d945f65e Remove nominationRequestCount
Before then nominating a candidate pair we limited the
amount of requests we sent, and would set the connection
to failed.

This change removes that limit, and instead uses the Disconnected+Failed
timer to control this. I found this when debugging an unrelated thing,
and was surprised by the behavior. I didn't find anything in the spec
that mentioned this, and isn't a knob that users will understand how to
control easily.
2020-06-27 21:59:27 -07:00
Sean DuBoisandSean DuBois f195edb4c1 Implement SetRemoteCredentials and Restart
Add simple tests that check it works E2E

Resolves #190
2020-06-25 00:16:58 -07:00
Sean DuBois e264665676 Move Checking -> Failed handling out of Selection
Selection before was written in a way that wouldn't work for restarts.
This moves the code out and makes it stateless. In the future we will be
able to clear the candidates and update the ConnectionState and
everything will restart properly.

Relates to #190
2020-06-25 00:16:58 -07:00
Sean DuBois f1bfc8fea1 Start Agent performance refactor
Remove taskChan and make .run just take an Agent wide mutex and run the
function. These is now a blocking operation so all channels used to
communicate from it must be buffered.

After this we will slowly remove usage of .run and make things more
thread safe.

Relates to #80, #67, #2
2020-03-01 20:25:45 -08:00
Sean DuBoisandSean DuBois aa3fe7c6a3 Add error message when no pairs
Add error message if pingAllCandidates is called and we
have no candidate pairs. This may help users when debugging.
2020-02-21 16:45:15 -08:00
Sean DuBoisandSean DuBois c571ca90fe Cancel selection timeout if Agent is closed
We would always wait 10 seconds even if the ICE Agent was closed,
instead return early right when the agent is closed.

Closes pion/webrtc#897
2019-10-24 00:02:59 -07:00
Aaron FranceandSean DuBois 377e52e387 Fix Controlled agent candidate selection timeout
Before if Controlled side never got any candidates
it would never properly shut down. We never checked
the start time against candidateSelectionTimeout

Resolves pion/webrtc#854
2019-10-05 23:03:22 -07:00
Zizheng TaiandSean DuBois ae2f2877cb Fix typo
Change a few "Sucess" to "Success".
2019-09-07 02:46:01 -04:00
Sebastian WaisbrotandSean DuBois 953f36f07f Add config to run Agent in Lite mode
Allow the agent to run in Lite mode. This is useful in
cases where you never want connectivity checks, and reduces
possible attacks surfaces when you have a public IP.
2019-09-02 16:13:08 -07:00