func()

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
}