Add tests for circuit breaker

This commit is contained in:
9seconds
2021-03-09 18:20:21 +03:00
parent e386ae0daf
commit 7c43a4b0b7
4 changed files with 206 additions and 61 deletions
+2 -1
View File
@@ -71,7 +71,7 @@ func (c *circuitBreakerDialer) doClosed(ctx context.Context,
c.failuresCount++
if c.state == circuitBreakerStateClosed && c.failuresCount > c.openThreshold {
if c.state == circuitBreakerStateClosed && c.failuresCount >= c.openThreshold {
c.switchState(circuitBreakerStateOpened)
}
@@ -184,6 +184,7 @@ func newCircuitBreakerDialer(baseDialer Dialer,
openThreshold uint32, halfOpenTimeout, resetFailuresTimeout time.Duration) Dialer {
cb := &circuitBreakerDialer{
Dialer: baseDialer,
stateMutexChan: make(chan bool, 1),
openThreshold: openThreshold,
halfOpenTimeout: halfOpenTimeout,
resetFailuresTimeout: resetFailuresTimeout,