in gdbclient/internal/pool/pool.go [375:388]
func (p *ConnPool) selectLeastUsed() *ConnWebSocket {
minInFlight := int32(math.MaxInt32)
var leastBusy *ConnWebSocket
p.connsMu.RLock()
for _, cn := range p.conns {
inFlight := atomic.LoadInt32(&cn.borrowed)
if !cn.brokenOrClosed() && inFlight < minInFlight {
minInFlight = inFlight
leastBusy = cn
}
}
p.connsMu.RUnlock()
return leastBusy
}