strategy: return fwdr's addr when only 1 fwdr left

This commit is contained in:
nadoo 2019-09-18 17:10:33 +08:00
parent 063dc1bc01
commit 6c8141e43b
2 changed files with 8 additions and 7 deletions

View File

@ -103,7 +103,7 @@ func confInit() {
func usage() {
app := os.Args[0]
fmt.Fprintf(os.Stderr, "\n")
fmt.Fprintf(os.Stderr, "%s v%s usage:\n", app, version)
fmt.Fprintf(os.Stderr, "%s %s usage:\n", app, version)
flag.PrintDefaults()
fmt.Fprintf(os.Stderr, "\n")

View File

@ -15,11 +15,6 @@ import (
"github.com/nadoo/glider/proxy"
)
// Checker is an interface of forwarder checker.
type Checker interface {
Check()
}
// Config is strategy config struct.
type Config struct {
Strategy string
@ -107,7 +102,13 @@ func newDialer(fwdrs []*Forwarder, c *Config) *Dialer {
}
// Addr returns forwarder's address.
func (d *Dialer) Addr() string { return "STRATEGY" }
func (d *Dialer) Addr() string {
if d.fwdrs.Len() == 1 {
return d.fwdrs[0].Addr()
}
return "STRATEGY"
}
// Dial connects to the address addr on the network net.
func (d *Dialer) Dial(network, addr string) (net.Conn, string, error) {