public StatedCircuitBreaker(CircuitBreakerContext context) { this.context = context; this.context.State = State; this.context.ResetMetrics(); }
public ClosedCircuitBreaker(CircuitBreakerContext context) : base(context) { failedTimeCounter = new TimeCounter(context.Threshold.FailureTimeout, () => context.ResetFailure()); failedTimeCounter.Start(); }
public OpenCircuitBreaker(CircuitBreakerContext context) : base(context) { retryTimeCounter = new TimeCounter(context.Threshold.RetryTimeout, () => context.TransferHalfOpenState()); retryTimeCounter.Start(); }
public HalfOpenCircuitBreaker(CircuitBreakerContext context) : base(context) { }