in gdbclient/internal/pool/pool.go [155:173]
func (p *ConnPool) dialConn() (*ConnWebSocket, error) {
if p.closed() {
return nil, errPoolClosed
}
if atomic.LoadUint32(&p.dialErrorsNum) >= uint32(p.opt.PoolSize) {
return nil, p.getLastDialError()
}
cn, err := p.opt.Dialer(p.opt)
if err != nil {
p.setLastDialError(err)
if atomic.AddUint32(&p.dialErrorsNum, 1) == uint32(p.opt.PoolSize) {
go p.tryDial()
}
return nil, err
}
return cn, nil
}