func()

in gdbclient/internal/pool/pool.go [175:198]


func (p *ConnPool) tryDial() {
	for {
		if p.closed() {
			internal.Logger.Debug("try routine gone as pool closed")
			return
		}

		conn, err := p.opt.Dialer(p.opt)
		if err != nil {
			internal.Logger.Info("try dial conn", zap.String("host", p.opt.GdbUrl), zap.Error(err))
			p.setLastDialError(err)
			time.Sleep(time.Second)
			continue
		}

		internal.Logger.Info("try to dial server success", zap.Time("time", time.Now()))
		atomic.StoreUint32(&p.dialErrorsNum, 0)
		conn.Close()

		// add conn to pool as connection recover
		p.addConns()
		return
	}
}