in gdbclient/internal/pool/pool.go [439:459]
func (p *ConnPool) reapStaleConns() int {
brokenConns := make([]*ConnWebSocket, 0)
p.connsMu.Lock()
restart:
for i, cn := range p.conns {
if p.isStaleConns(cn) {
brokenConns = append(brokenConns, cn)
p.conns = append(p.conns[:i], p.conns[i+1:]...)
goto restart
}
}
brokenConsLen := p.poolSize - len(p.conns)
p.connsMu.Unlock()
for _, cn := range brokenConns {
internal.Logger.Debug("reap stale conn", zap.Time("time", time.Now()), zap.Stringer("str", cn))
p.closeConn(cn)
}
return brokenConsLen
}