mirror of
https://github.com/nadoo/glider.git
synced 2025-02-23 09:25:41 +08:00
strategy: when no forwarders, available set priority to 0
This commit is contained in:
parent
ac94540ab8
commit
1c2ad64000
@ -155,6 +155,8 @@ func (d *Dialer) initAvailable() {
|
||||
}
|
||||
|
||||
if len(d.available) == 0 {
|
||||
// no available forwarders, set priority to 0 to check all forwarders in check func
|
||||
d.SetPriority(0)
|
||||
log.F("[strategy] no available forwarders, just use: %s, please check your settings or network", d.fwdrs[0])
|
||||
d.available = append(d.available, d.fwdrs[0])
|
||||
}
|
||||
@ -202,15 +204,16 @@ func (d *Dialer) check(i int) {
|
||||
for {
|
||||
time.Sleep(time.Duration(d.config.CheckInterval) * time.Second * time.Duration(retry>>1))
|
||||
|
||||
// check all forwarders at least one time
|
||||
if retry > 1 && f.Priority() < d.Priority() {
|
||||
continue
|
||||
}
|
||||
|
||||
retry <<= 1
|
||||
if retry > 16 {
|
||||
retry = 16
|
||||
}
|
||||
|
||||
if f.Priority() < d.Priority() {
|
||||
continue
|
||||
}
|
||||
|
||||
startTime := time.Now()
|
||||
rc, err := f.Dial("tcp", d.config.CheckWebSite)
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user