func()

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
}