MCPcopy
hub / github.com/bradfitz/gomemcache / getConn

Method getConn

memcache/memcache.go:293–311  ·  view source on GitHub ↗
(addr net.Addr)

Source from the content-addressed store, hash-verified

291}
292
293func (c *Client) getConn(addr net.Addr) (*conn, error) {
294 cn, ok := c.getFreeConn(addr)
295 if ok {
296 cn.extendDeadline()
297 return cn, nil
298 }
299 nc, err := c.dial(addr)
300 if err != nil {
301 return nil, err
302 }
303 cn = &conn{
304 nc: nc,
305 addr: addr,
306 rw: bufio.NewReadWriter(bufio.NewReader(nc), bufio.NewWriter(nc)),
307 c: c,
308 }
309 cn.extendDeadline()
310 return cn, nil
311}
312
313func (c *Client) onItem(item *Item, fn func(*Client, *bufio.ReadWriter, *Item) error) error {
314 addr, err := c.selector.PickServer(item.Key)

Callers 3

onItemMethod · 0.95
withAddrRwMethod · 0.95
BenchmarkOnItemFunction · 0.80

Calls 3

getFreeConnMethod · 0.95
dialMethod · 0.95
extendDeadlineMethod · 0.80

Tested by 1

BenchmarkOnItemFunction · 0.64