Няма описание

Dan Frank 22283bf1ec further force epsilon greedy to embed more generic HostPool; still some type assertions needed преди 12 години
.gitignore 9ee9de1a9a Initial commit преди 13 години
.travis.yml 04638c1bf2 Initial migration from Bitly codebase, plus travis yml преди 13 години
README.md caed515f02 docs and examples like a responsible author преди 12 години
epsilon_greedy.go 22283bf1ec further force epsilon greedy to embed more generic HostPool; still some type assertions needed преди 12 години
epsilon_value_calculators.go f168a71549 fix some value calculators and add docs преди 12 години
example_test.go 5b6ec7b806 rm markSuccess and ilk from interface, bind response and hp types преди 12 години
host_entry.go 6d43f34e8e split into multiple files преди 12 години
hostpool.go 22283bf1ec further force epsilon greedy to embed more generic HostPool; still some type assertions needed преди 12 години
hostpool_test.go 5b6ec7b806 rm markSuccess and ilk from interface, bind response and hp types преди 12 години

README.md

go-hostpool

A Go package to intelligently and flexibly pool among multiple hosts from your Go application. Host selection can operate in round robin or epsilon greedy mode, and unresponsive hosts are avoided. Usage example:

hp := hostpool.NewEpsilonGreedy([]string{"a", "b"}, 0, &hostpool.LinearEpsilonValueCalculator{})
hostResponse := hp.Get()
hostname := hostResponse.Host()
err := _ // (make a request with hostname)
hostResponse.Mark(err)

View more detailed documentation on godoc.org