MCPcopy
hub / github.com/segmentio/kafka-go / releaseConn

Method releaseConn

transport.go:1116–1138  ·  view source on GitHub ↗
(c *conn)

Source from the content-addressed store, hash-verified

1114}
1115
1116func (g *connGroup) releaseConn(c *conn) bool {
1117 idleTimeout := g.pool.idleTimeout
1118
1119 g.mutex.Lock()
1120 defer g.mutex.Unlock()
1121
1122 if g.closed {
1123 return false
1124 }
1125
1126 if c.timer != nil {
1127 c.timer.Reset(idleTimeout)
1128 } else {
1129 c.timer = time.AfterFunc(idleTimeout, func() {
1130 if g.removeConn(c) {
1131 c.close()
1132 }
1133 })
1134 }
1135
1136 g.idleConns = append(g.idleConns, c)
1137 return true
1138}
1139
1140func (g *connGroup) connect(ctx context.Context, addr net.Addr) (*conn, error) {
1141 deadline := time.Now().Add(g.pool.dialTimeout)

Callers 2

grabConnOrConnectMethod · 0.95
runMethod · 0.80

Calls 3

removeConnMethod · 0.95
ResetMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected