mirror of
https://github.com/octoleo/syncthing.git
synced 2025-01-08 17:24:08 +00:00
This commit is contained in:
parent
8df90bb475
commit
2751be57dc
@ -341,19 +341,20 @@ func (s *Service) connect() {
|
|||||||
|
|
||||||
l.Debugln("Reconnect loop for", deviceID, addrs)
|
l.Debugln("Reconnect loop for", deviceID, addrs)
|
||||||
|
|
||||||
seen = append(seen, addrs...)
|
|
||||||
|
|
||||||
dialTargets := make([]dialTarget, 0)
|
dialTargets := make([]dialTarget, 0)
|
||||||
|
|
||||||
for _, addr := range addrs {
|
for _, addr := range addrs {
|
||||||
nextDialAt, ok := nextDial[addr]
|
// Use a special key that is more than just the address, as you might have two devices connected to the same relay
|
||||||
|
nextDialKey := deviceID.String() + "/" + addr
|
||||||
|
seen = append(seen, nextDialKey)
|
||||||
|
nextDialAt, ok := nextDial[nextDialKey]
|
||||||
if ok && initialRampup >= sleep && nextDialAt.After(now) {
|
if ok && initialRampup >= sleep && nextDialAt.After(now) {
|
||||||
l.Debugf("Not dialing %v as sleep is %v, next dial is at %s and current time is %s", addr, sleep, nextDialAt, now)
|
l.Debugf("Not dialing %s via %v as sleep is %v, next dial is at %s and current time is %s", deviceID, addr, sleep, nextDialAt, now)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// If we fail at any step before actually getting the dialer
|
// If we fail at any step before actually getting the dialer
|
||||||
// retry in a minute
|
// retry in a minute
|
||||||
nextDial[addr] = now.Add(time.Minute)
|
nextDial[nextDialKey] = now.Add(time.Minute)
|
||||||
|
|
||||||
uri, err := url.Parse(addr)
|
uri, err := url.Parse(addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -391,7 +392,7 @@ func (s *Service) connect() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dialer := dialerFactory.New(s.cfg, s.tlsCfg)
|
dialer := dialerFactory.New(s.cfg, s.tlsCfg)
|
||||||
nextDial[addr] = now.Add(dialer.RedialFrequency())
|
nextDial[nextDialKey] = now.Add(dialer.RedialFrequency())
|
||||||
|
|
||||||
// For LAN addresses, increase the priority so that we
|
// For LAN addresses, increase the priority so that we
|
||||||
// try these first.
|
// try these first.
|
||||||
|
Loading…
Reference in New Issue
Block a user