MCPcopy
hub / github.com/CodisLabs/codis / newSharedBackendConn

Function newSharedBackendConn

pkg/proxy/backend.go:383–409  ·  view source on GitHub ↗
(addr string, pool *sharedBackendConnPool)

Source from the content-addressed store, hash-verified

381}
382
383func newSharedBackendConn(addr string, pool *sharedBackendConnPool) *sharedBackendConn {
384 host, port, err := net.SplitHostPort(addr)
385 if err != nil {
386 log.ErrorErrorf(err, "split host-port failed, address = %s", addr)
387 }
388 s := &sharedBackendConn{
389 addr: addr,
390 host: []byte(host), port: []byte(port),
391 }
392 s.owner = pool
393 s.conns = make([][]*BackendConn, pool.config.BackendNumberDatabases)
394 for database := range s.conns {
395 parallel := make([]*BackendConn, pool.parallel)
396 for i := range parallel {
397 parallel[i] = NewBackendConn(addr, database, pool.config)
398 }
399 s.conns[database] = parallel
400 }
401 if pool.parallel == 1 {
402 s.single = make([]*BackendConn, len(s.conns))
403 for database := range s.conns {
404 s.single[database] = s.conns[database][0]
405 }
406 }
407 s.refcnt = 1
408 return s
409}
410
411func (s *sharedBackendConn) Addr() string {
412 if s == nil {

Callers 1

RetainMethod · 0.85

Calls 2

NewBackendConnFunction · 0.85
ErrorErrorfMethod · 0.80

Tested by

no test coverage detected