mirror of
https://github.com/netbirdio/ice.git
synced 2026-05-22 17:10:58 -07:00
Start a candidate before adding it
This way we ensure the connection will be already present when the candidate is in the checklist
This commit is contained in:
committed by
Hugo Arregui
parent
372175cca4
commit
358dc33274
@@ -213,21 +213,14 @@ func (a *Agent) gatherCandidatesLocal(networkTypes []NetworkType) {
|
||||
}
|
||||
|
||||
if err := a.run(func(agent *Agent) {
|
||||
c.start(a, conn)
|
||||
a.addCandidate(c)
|
||||
}); err != nil {
|
||||
a.log.Warnf("Failed to append to localCandidates: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
c.start(a, conn)
|
||||
|
||||
if err := a.run(func(agent *Agent) {
|
||||
if a.onCandidateHdlr != nil {
|
||||
go a.onCandidateHdlr(c)
|
||||
}
|
||||
}); err != nil {
|
||||
a.log.Warnf("Failed to run onCandidateHdlr task: %v\n", err)
|
||||
return
|
||||
a.log.Warnf("Failed to append to localCandidates and run onCandidateHdlr: %v\n", err)
|
||||
}
|
||||
}(network, ip)
|
||||
}
|
||||
@@ -282,21 +275,14 @@ func (a *Agent) gatherCandidatesSrflx(urls []*URL, networkTypes []NetworkType) {
|
||||
}
|
||||
|
||||
if err := a.run(func(agent *Agent) {
|
||||
c.start(a, conn)
|
||||
a.addCandidate(c)
|
||||
}); err != nil {
|
||||
a.log.Warnf("Failed to append to localCandidates: %v\n", err)
|
||||
continue
|
||||
}
|
||||
|
||||
c.start(a, conn)
|
||||
|
||||
if err := a.run(func(agent *Agent) {
|
||||
if a.onCandidateHdlr != nil {
|
||||
go a.onCandidateHdlr(c)
|
||||
}
|
||||
}); err != nil {
|
||||
a.log.Warnf("Failed to run onCandidateHdlr task: %v\n", err)
|
||||
continue
|
||||
a.log.Warnf("Failed to append to localCandidates and run onCandidateHdlr: %v\n", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -364,8 +350,16 @@ func (a *Agent) gatherCandidatesRelay(urls []*URL) error {
|
||||
continue
|
||||
}
|
||||
|
||||
a.addCandidate(candidate)
|
||||
candidate.start(a, relayConn)
|
||||
if err := a.run(func(agent *Agent) {
|
||||
candidate.start(a, relayConn)
|
||||
a.addCandidate(candidate)
|
||||
|
||||
if a.onCandidateHdlr != nil {
|
||||
go a.onCandidateHdlr(candidate)
|
||||
}
|
||||
}); err != nil {
|
||||
a.log.Warnf("Failed to append to localCandidates and run onCandidateHdlr: %v\n", err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user