From 2a025ffa94b9c16ecadf008eb0cc49195fd8d3ac Mon Sep 17 00:00:00 2001 From: mantaohuang Date: Fri, 10 Apr 2020 10:25:59 -0400 Subject: [PATCH] fix bug with all zero weights --- go-socks-lb/dw.json | 2 +- go-socks-lb/main.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/go-socks-lb/dw.json b/go-socks-lb/dw.json index c79ba13..bfae623 100644 --- a/go-socks-lb/dw.json +++ b/go-socks-lb/dw.json @@ -1,3 +1,3 @@ { - "weights": [0, 0, 0, 2] + "weights": [1, 0, 0, 0] } \ No newline at end of file diff --git a/go-socks-lb/main.go b/go-socks-lb/main.go index adf4e18..b02b211 100644 --- a/go-socks-lb/main.go +++ b/go-socks-lb/main.go @@ -151,6 +151,10 @@ func (pm *ProxyManager) applyWeight() { chooseArr = append(chooseArr, wr.Choice{Item: len(pm.enabledIndics) - 1, Weight: uint(p.Weight)}) } } + if len(pm.enabledIndics) == 0 { + fmt.Println("no enabled indice, proxy will be disabled.") + return + } fmt.Println("enabled indices:", pm.enabledIndics) pm.Chooser = wr.NewChooser(chooseArr...) // update cache to remove disabled proxys