Skip to content

Commit ea15d59

Browse files
committed
dialers/retrier: m refactore dialLocked return val
1 parent 9a74d6d commit ea15d59

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

intra/dialers/retrier.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ func DialWithSplitRetry(d *protect.RDial, laddr, raddr *net.TCPAddr) (*retrier,
157157
r.mu.Lock()
158158
defer r.mu.Unlock()
159159

160-
if _, err := r.dialLocked(); err != nil {
160+
if err := r.dialLocked(); err != nil {
161161
return nil, err
162162
}
163163
return r, nil
@@ -204,7 +204,7 @@ func DialAny(ds []protect.RDialer, laddr, raddr net.Addr) (*retrier, error) {
204204
r.mu.Lock()
205205
defer r.mu.Unlock()
206206

207-
if _, err := r.dialLocked(); err != nil {
207+
if err := r.dialLocked(); err != nil {
208208
return nil, err
209209
}
210210
return r, nil
@@ -300,16 +300,16 @@ func (r *retrier) dialerID() string {
300300

301301
// dialLocked establishes a new connection to r.raddr and closes existing, if any.
302302
// Sets r.conn on non-errors and timeout as calculated from round-trip time.
303-
func (r *retrier) dialLocked() (c protect.Conn, err error) {
303+
func (r *retrier) dialLocked() error {
304304
clos(r.conn) // close existing connection, if any
305305

306306
strat, err := r.dialStratLocked()
307307
if err != nil {
308-
return
308+
return err
309309
}
310310

311311
begin := time.Now()
312-
c, err = r.doDialLocked(strat)
312+
c, err := r.doDialLocked(strat)
313313
rtt := time.Since(begin)
314314

315315
r.conn = c // c may be nil
@@ -318,7 +318,7 @@ func (r *retrier) dialLocked() (c protect.Conn, err error) {
318318
logeif(err)("retrier: dial(%s) %s=>%s; strat: %d (mult? %d %T), rtt: %dms; err? %v",
319319
r.dialerID(), laddr(c), r.raddr, strat, len(r.dialers), c, rtt.Milliseconds(), err)
320320

321-
return
321+
return err
322322
}
323323

324324
// dialStrat returns a core.DuplexConn to r.raddr using a specified strategy, strat,
@@ -378,7 +378,8 @@ func (r *retrier) doDialLocked(dialStrat int32) (protect.Conn, error) {
378378
// Returns an error if the dial fails or if the splits could not be written.
379379
func (r *retrier) retryWriteReadLocked(buf []byte) (int, error) {
380380
// r.dialLocked also closes provisional socket
381-
newConn, err := r.dialLocked() // errs on dial strat = no retries, too
381+
err := r.dialLocked() // errs on dial strat = no retries, too
382+
newConn := r.conn
382383
if err != nil || newConn == nil || core.IsNil(newConn) {
383384
return 0, core.OneErr(err, errNoConn)
384385
}
@@ -456,6 +457,7 @@ func (r *retrier) Read(buf []byte) (n int, err error) {
456457
// retry on errs like timeouts or connection resets
457458
for (c == nil || core.IsNil(c) || retryReadErr != nil) && r.canRetryLocked() {
458459
r.retryCount++
460+
459461
n, retryReadErr = r.retryWriteReadLocked(buf)
460462
c = r.conn // re-assign c to newConn, if any; may be nil
461463
if c == nil || core.IsNil(c) || retryReadErr != nil {
@@ -592,7 +594,8 @@ func (r *retrier) Write(b []byte) (int, error) {
592594

593595
// retryCompleted() is true, so r.conn is final and doesn't need locking
594596
if c := r.conn; c == nil || core.IsNil(c) {
595-
log.E("retrier: write: %s: [] => %s (b: %d, tee: %d), not retrying, but no conn", r.dialerID(), r.raddr, len(b), len(r.tee))
597+
log.E("retrier: write: %s: [] => %s (b: %d, tee: %d), not retrying, but no conn",
598+
r.dialerID(), r.raddr, len(b), len(r.tee))
596599
return 0, errNilConn
597600
} else {
598601
return c.Write(b)

0 commit comments

Comments
 (0)