()
| 575 | } |
| 576 | |
| 577 | func (b *binder) worker() { |
| 578 | defer b.workerWG.Done() |
| 579 | eb := backoff.NewExponentialBackOff() |
| 580 | eb.MaxElapsedTime = 0 // retry indefinitely |
| 581 | eb.MaxInterval = dbMaxBackoff |
| 582 | bkoff := backoff.WithContext(eb, b.ctx) |
| 583 | for { |
| 584 | bk, err := b.workQ.acquire() |
| 585 | if err != nil { |
| 586 | // context expired |
| 587 | return |
| 588 | } |
| 589 | err = backoff.Retry(func() error { |
| 590 | bnd := b.retrieveBinding(bk) |
| 591 | return b.writeOne(bnd) |
| 592 | }, bkoff) |
| 593 | if err != nil { |
| 594 | bkoff.Reset() |
| 595 | } |
| 596 | b.workQ.done(bk) |
| 597 | } |
| 598 | } |
| 599 | |
| 600 | func (b *binder) writeOne(bnd binding) error { |
| 601 | var err error |
no test coverage detected