Documentation
¶
Index ¶
- Variables
- func Do(name string, req func() error) error
- func DoWithAcceptable(name string, req func() error, acceptable Acceptable) error
- func DoWithFallback(name string, req func() error, fallback func(err error) error) error
- func DoWithFallbackAcceptable(name string, req func() error, fallback func(err error) error, ...) error
- func NoBreakFor(name string)
- type Acceptable
- type Breaker
- type BreakerOption
- type Promise
- type State
Constants ¶
This section is empty.
Variables ¶
ErrServiceUnavailable is returned when the CB state is open
Functions ¶
func DoWithAcceptable ¶
func DoWithAcceptable(name string, req func() error, acceptable Acceptable) error
func DoWithFallback ¶
func NoBreakFor ¶
func NoBreakFor(name string)
Types ¶
type Acceptable ¶
type Breaker ¶
type Breaker interface { // Name returns the name of the netflixBreaker. Name() string // Allow checks if the request is allowed. // If allowed, a promise will be returned, the caller needs to call promise.Accept() // on success, or call promise.Reject() on failure. // If not allow, ErrServiceUnavailable will be returned. Allow() (Promise, error) // Do runs the given request if the netflixBreaker accepts it. // Do returns an error instantly if the netflixBreaker rejects the request. // If a panic occurs in the request, the netflixBreaker handles it as an error // and causes the same panic again. Do(req func() error) error // DoWithAcceptable runs the given request if the netflixBreaker accepts it. // Do returns an error instantly if the netflixBreaker rejects the request. // If a panic occurs in the request, the netflixBreaker handles it as an error // and causes the same panic again. // acceptable checks if it's a successful call, even if the err is not nil. DoWithAcceptable(req func() error, acceptable Acceptable) error // DoWithFallback runs the given request if the netflixBreaker accepts it. // DoWithFallback runs the fallback if the netflixBreaker rejects the request. // If a panic occurs in the request, the netflixBreaker handles it as an error // and causes the same panic again. DoWithFallback(req func() error, fallback func(err error) error) error // DoWithFallbackAcceptable runs the given request if the netflixBreaker accepts it. // DoWithFallback runs the fallback if the netflixBreaker rejects the request. // If a panic occurs in the request, the netflixBreaker handles it as an error // and causes the same panic again. // acceptable checks if it's a successful call, even if the err is not nil. DoWithFallbackAcceptable(req func() error, fallback func(err error) error, acceptable Acceptable) error }
func GetBreaker ¶
func NewBreaker ¶
func NewBreaker(opts ...BreakerOption) Breaker
type BreakerOption ¶
type BreakerOption func(breaker *circuitBreaker)
func WithName ¶
func WithName(name string) BreakerOption
Click to show internal directories.
Click to hide internal directories.