Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Breaker ¶
type Breaker struct {
// contains filtered or unexported fields
}
func New ¶
func New(watcher RecoverableWatcher) *Breaker
func SimpleThreePhaseBreaker ¶
func (*Breaker) Reset ¶
func (breaker *Breaker) Reset(acceptor RecoverableWatcher)
type CounterWatcher ¶
type CounterWatcher struct {
// contains filtered or unexported fields
}
func NewCounterWatcher ¶
func NewCounterWatcher(count int32, abnormal bool) *CounterWatcher
func (*CounterWatcher) Accept ¶
func (watcher *CounterWatcher) Accept(abnormal bool)
func (*CounterWatcher) WaitUnacceptable ¶
func (watcher *CounterWatcher) WaitUnacceptable(ctx context.Context)
type EmptyRecovery ¶
type EmptyRecovery struct{}
func (EmptyRecovery) WaitRecovery ¶
func (er EmptyRecovery) WaitRecovery(ctx context.Context)
type RateAcceptor ¶
type RateAcceptor struct {
// contains filtered or unexported fields
}
accept imply
func NewRateWatcher ¶
func NewRateWatcher(limiter *rate.Limiter) *RateAcceptor
func (*RateAcceptor) Accept ¶
func (acceptor *RateAcceptor) Accept(abnormal bool)
func (*RateAcceptor) WaitUnacceptable ¶
func (acceptor *RateAcceptor) WaitUnacceptable(ctx context.Context)
type RecoverableWatcher ¶
type RecoverableWatcher interface { Accept(abnormal bool) WaitUnacceptable(ctx context.Context) WatchableRecovery }
func ThreePhaseWatcher ¶
func ThreePhaseWatcher(watcher Watcher, recovery Recovery, unstableWatcher Watcher, stableWatcher Watcher) RecoverableWatcher
三项熔断器
type TimeRecovery ¶
type TimeRecovery struct {
// contains filtered or unexported fields
}
func NewDurationRecovery ¶
func NewDurationRecovery(min, max time.Duration) *TimeRecovery
func (*TimeRecovery) WaitRecovery ¶
func (recovery *TimeRecovery) WaitRecovery(ctx context.Context)
type WatchableRecovery ¶
type WatchableRecovery interface {
WaitRecovery(ctx context.Context) RecoverableWatcher
}
type WatcherChain ¶
type WatcherChain struct {
// contains filtered or unexported fields
}
func NewWatcherChain ¶
func NewWatcherChain(watcher Watcher, recovery Recovery) *WatcherChain
func (*WatcherChain) Accept ¶
func (ww *WatcherChain) Accept(abnormal bool)
func (*WatcherChain) ChainTo ¶
func (ww *WatcherChain) ChainTo(wc RecoverableWatcher)
func (WatcherChain) WaitRecovery ¶
func (ww WatcherChain) WaitRecovery(ctx context.Context) RecoverableWatcher
func (*WatcherChain) WaitUnacceptable ¶
func (ww *WatcherChain) WaitUnacceptable(ctx context.Context) WatchableRecovery
type WatcherSelector ¶
type WatcherSelector struct {
// contains filtered or unexported fields
}
func NewWatcherSelector ¶
func NewWatcherSelector(rw []RecoverableWatcher) *WatcherSelector
func (*WatcherSelector) Accept ¶
func (selector *WatcherSelector) Accept(abnormal bool)
func (*WatcherSelector) WaitUnacceptable ¶
func (selector *WatcherSelector) WaitUnacceptable(ctx context.Context) WatchableRecovery
Click to show internal directories.
Click to hide internal directories.