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)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…