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
}
}