Package dev.failsafe.internal
Class CircuitState<R>
- java.lang.Object
-
- dev.failsafe.internal.CircuitState<R>
-
- Type Parameters:
R
- result type
- Direct Known Subclasses:
ClosedState
,HalfOpenState
,OpenState
abstract class CircuitState<R> extends java.lang.Object
The state of a circuit.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) CircuitBreakerImpl<R>
breaker
(package private) CircuitBreakerConfig<R>
config
(package private) CircuitStats
stats
-
Constructor Summary
Constructors Constructor Description CircuitState(CircuitBreakerImpl<R> breaker, CircuitStats stats)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) void
checkThreshold(ExecutionContext<R> context)
java.time.Duration
getRemainingDelay()
abstract CircuitBreaker.State
getState()
CircuitStats
getStats()
void
handleConfigChange()
void
recordFailure(ExecutionContext<R> context)
void
recordSuccess()
(package private) void
releasePermit()
(package private) abstract boolean
tryAcquirePermit()
-
-
-
Field Detail
-
breaker
final CircuitBreakerImpl<R> breaker
-
config
final CircuitBreakerConfig<R> config
-
stats
volatile CircuitStats stats
-
-
Constructor Detail
-
CircuitState
CircuitState(CircuitBreakerImpl<R> breaker, CircuitStats stats)
-
-
Method Detail
-
getRemainingDelay
public java.time.Duration getRemainingDelay()
-
getStats
public CircuitStats getStats()
-
getState
public abstract CircuitBreaker.State getState()
-
recordFailure
public void recordFailure(ExecutionContext<R> context)
-
recordSuccess
public void recordSuccess()
-
handleConfigChange
public void handleConfigChange()
-
checkThreshold
void checkThreshold(ExecutionContext<R> context)
-
tryAcquirePermit
abstract boolean tryAcquirePermit()
-
releasePermit
void releasePermit()
-
-