Aggressive nomination on binding response

Add aggressive nomination when nominateOnBindingSuccess
This commit is contained in:
cnderrauber
2022-12-29 18:56:05 +08:00
committed by cnderrauber
parent ea00dc7424
commit 283943ec23
+4 -1
View File
@@ -230,8 +230,11 @@ func (s *controlledSelector) HandleSuccessResponse(m *stun.Message, local, remot
p.state = CandidatePairStateSucceeded
s.log.Tracef("Found valid candidate pair: %s", p)
if p.nominateOnBindingSuccess {
if selectedPair := s.agent.getSelectedPair(); selectedPair == nil {
if selectedPair := s.agent.getSelectedPair(); selectedPair == nil ||
(selectedPair != p && selectedPair.priority() <= p.priority()) {
s.agent.setSelectedPair(p)
} else if selectedPair != p {
s.log.Tracef("ignore nominate new pair %s, already nominated pair %s", p, selectedPair)
}
}
}