Fix: selector no longer randomly selects

This commit is contained in:
Dreamacro
2018-10-18 23:24:04 +08:00
parent ce07eda428
commit 94d1972782
3 changed files with 37 additions and 29 deletions

View File

@ -52,21 +52,20 @@ func (s *Selector) Set(name string) error {
return nil
}
func NewSelector(name string, proxies map[string]C.Proxy) (*Selector, error) {
func NewSelector(name string, proxies []C.Proxy) (*Selector, error) {
if len(proxies) == 0 {
return nil, errors.New("Provide at least one proxy")
}
mapping := make(map[string]C.Proxy)
var init string
for k, v := range proxies {
mapping[k] = v
init = k
for _, proxy := range proxies {
mapping[proxy.Name()] = proxy
}
s := &Selector{
name: name,
proxies: mapping,
selected: proxies[init],
selected: proxies[0],
}
return s, nil
}