mirror of
https://github.com/nadoo/glider.git
synced 2025-02-23 17:35:40 +08:00
strategy: return fwdr's addr when only 1 fwdr left
This commit is contained in:
parent
063dc1bc01
commit
6c8141e43b
2
conf.go
2
conf.go
@ -103,7 +103,7 @@ func confInit() {
|
|||||||
func usage() {
|
func usage() {
|
||||||
app := os.Args[0]
|
app := os.Args[0]
|
||||||
fmt.Fprintf(os.Stderr, "\n")
|
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()
|
flag.PrintDefaults()
|
||||||
fmt.Fprintf(os.Stderr, "\n")
|
fmt.Fprintf(os.Stderr, "\n")
|
||||||
|
|
||||||
|
@ -15,11 +15,6 @@ import (
|
|||||||
"github.com/nadoo/glider/proxy"
|
"github.com/nadoo/glider/proxy"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Checker is an interface of forwarder checker.
|
|
||||||
type Checker interface {
|
|
||||||
Check()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Config is strategy config struct.
|
// Config is strategy config struct.
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Strategy string
|
Strategy string
|
||||||
@ -107,7 +102,13 @@ func newDialer(fwdrs []*Forwarder, c *Config) *Dialer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Addr returns forwarder's address.
|
// 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.
|
// Dial connects to the address addr on the network net.
|
||||||
func (d *Dialer) Dial(network, addr string) (net.Conn, string, error) {
|
func (d *Dialer) Dial(network, addr string) (net.Conn, string, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user