INNER CODE UNIT · Go
func
yahoo/vssh · client_mem.go:19
func (c *clients) getShard(key string) uint {
hash := fnv.New32()
hash.Write([]byte(key))
hSum32 := hash.Sum32()
return uint(hSum32) % uint(clientsShardNum)
}
func newClients() clients {
c := make(clients, clientsShardNum)
for i := 0; i < clientsShardNum; i++ {
c[i] = &clientsShard{}
c[i].clients = make(map[string]*clientAttr)
}
return c
}
func (c clients) add(client *clientAttr) {
shard := c.getShard(client.addr)