Versions in this module Expand all Collapse all v0 v0.2.0 May 15, 2026 v0.1.0 May 12, 2026 Changes in this version + var ErrOpen = errors.New("circuit breaker is open") + func CallWithResult[T any](b *Breaker, fn func() (T, error)) (T, error) + type Breaker struct + func New(cfg Config) *Breaker + func (b *Breaker) Allow() bool + func (b *Breaker) Call(fn func() error) error + func (b *Breaker) RecordFailure() + func (b *Breaker) RecordSuccess() + func (b *Breaker) State() State + func (b *Breaker) Stats() Stats + type Config struct + HalfOpenMaxCalls int + MaxFailures int + Timeout time.Duration + func DefaultConfig() Config + type Manager struct + func NewManager(cfg Config) *Manager + func (m *Manager) Get(name string) *Breaker + func (m *Manager) List() map[string]Stats + type State int + const Closed + const HalfOpen + const Open + func (s State) String() string + type Stats struct + Failures int + LastFailure time.Time + State string