Пример #1
0
func newClient(cf *config.ConfigMemcache) (this *Client) {
	this = new(Client)
	this.conf = cf
	this.breakers = make(map[net.Addr]*breaker.Consecutive)
	this.throttleConns = make(map[net.Addr]chan interface{})

	switch cf.HashStrategy {
	case ConstistentHashStrategy:
		this.selector = new(ConsistentServerSelector)

	default:
		this.selector = new(StandardServerSelector)
	}

	if err := this.selector.SetServers(cf.ServerList()...); err != nil {
		panic(err)
	}

	return
}