package breaker const nopBreakerName = "nopBreaker" type nopBreaker struct{} // NopBreaker returns a breaker that never trigger breaker circuit. func NopBreaker() Breaker { return nopBreaker{} } func (b nopBreaker) Name() string { return nopBreakerName } func (b nopBreaker) Allow() (Promise, error) { return nopPromise{}, nil } func (b nopBreaker) Do(req func() error) error { return req() } func (b nopBreaker) DoWithAcceptable(req func() error, _ Acceptable) error { return req() } func (b nopBreaker) DoWithFallback(req func() error, _ Fallback) error { return req() } func (b nopBreaker) DoWithFallbackAcceptable(req func() error, _ Fallback, _ Acceptable) error { return req() } type nopPromise struct{} func (p nopPromise) Accept() { } func (p nopPromise) Reject(_ string) { }