INNER CODE UNIT · Go
func
yahoo/vssh · client_mem.go:35
func (c clients) add(client *clientAttr) {
shard := c.getShard(client.addr)
c[shard].Lock()
defer c[shard].Unlock()
c[shard].clients[client.addr] = client
}
func (c clients) del(key string) {
shard := c.getShard(key)
c[shard].Lock()
defer c[shard].Unlock()
delete(c[shard].clients, key)
}
func (c clients) get(key string) (*clientAttr, bool) {
shard := c.getShard(key)
c[shard].RLock()
defer c[shard].RUnlock()
v, ok := c[shard].clients[key]
return v, ok