Versions in this module Expand all Collapse all v1 v1.1.0 Apr 6, 2022 v1.0.0 Mar 23, 2022 Changes in this version + const CircuitBreakerStatusClosed + const CircuitBreakerStatusForceOpen + const CircuitBreakerStatusHalfOpen + const CircuitBreakerStatusOpen + const FailureHit + const TotalHit + var ErrCircuitBreak error = errors.New("circuit breaker triggered") + type CircuitBreaker struct + func NewCircuitBreaker(config *CircuitBreakerConfig) *CircuitBreaker + func (cb *CircuitBreaker) ChangeConfig(config *CircuitBreakerConfig) + func (cb *CircuitBreaker) Do(ctx context.Context, run runFunc, fallback fallbackFunc) error + func (cb *CircuitBreaker) GetHalfOpenProbeSent() bool + func (cb *CircuitBreaker) Hit(nowMs int64, isProbe bool, isFailureHit bool) + func (cb *CircuitBreaker) SetHalfOpenProbeSent(halfOpenProbeSent bool) + func (cb *CircuitBreaker) Status() int32 + type CircuitBreakerConfig struct + OpenStatusDurationMs int64 + func NewCircuitBreakerConfig() *CircuitBreakerConfig + func (c *CircuitBreakerConfig) SetCellIntervalMs(cellIntervalMs int64) *CircuitBreakerConfig + func (c *CircuitBreakerConfig) SetFailureNum(failureNum int64) *CircuitBreakerConfig + func (c *CircuitBreakerConfig) SetFailureRateThreshold(failureRateThreshold int64) *CircuitBreakerConfig + func (c *CircuitBreakerConfig) SetForceOpen(forceOpen bool) *CircuitBreakerConfig + func (c *CircuitBreakerConfig) SetMinQPS(minQPS int64) *CircuitBreakerConfig + func (c *CircuitBreakerConfig) SetOpenStatusDurationMs(OpenStatusDurationMs int64) *CircuitBreakerConfig + func (c *CircuitBreakerConfig) SetSize(size int64) *CircuitBreakerConfig