Allow built in selectionHandlers to be reused outside of package

This commit is contained in:
John Ku 2015-12-11 13:48:02 -08:00
parent 1c4b8aa000
commit 9d99accce2

View File

@ -11,9 +11,7 @@ const (
)
var (
ErrNotFound = errors.New("Server Not Found")
SelectWithRate = selectWithRate
SelectRandom = selectRandom
ErrNotFound = errors.New("Server Not Found")
)
type PoolClient struct {
@ -24,7 +22,7 @@ type PoolClient struct {
type SelectionHandler func(map[string]*PoolClient, string) string
func selectWithRate(pool map[string]*PoolClient,
func SelectWithRate(pool map[string]*PoolClient,
last string) (addr string) {
total := 0
for _, item := range pool {
@ -36,7 +34,7 @@ func selectWithRate(pool map[string]*PoolClient,
return last
}
func selectRandom(pool map[string]*PoolClient,
func SelectRandom(pool map[string]*PoolClient,
last string) (addr string) {
r := rand.Intn(len(pool))
i := 0