in gdbclient/internal/pool/pool.go [300:314]
func (p *ConnPool) returnConn(conn *ConnWebSocket) {
atomic.AddInt32(&conn.borrowed, -1)
internal.Logger.Debug("return conn", zapPtr(conn), zap.Time("time", time.Now()))
if conn.brokenOrClosed() {
internal.Logger.Debug("return broken conn", zap.Time("time", time.Now()), zap.Stringer("cn", conn))
p.removeConn(conn)
conn.Close()
// active to dial a new connection to replace this conn
p.addConns()
} else {
p.announceAvailableConn()
}
}