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.ObjectThe state of a circuit.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) CircuitBreakerImpl<R>breaker(package private) CircuitBreakerConfig<R>config(package private) CircuitStatsstats
-
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) voidcheckThreshold(ExecutionContext<R> context)java.time.DurationgetRemainingDelay()abstract CircuitBreaker.StategetState()CircuitStatsgetStats()voidhandleConfigChange()voidrecordFailure(ExecutionContext<R> context)voidrecordSuccess()(package private) voidreleasePermit()(package private) abstract booleantryAcquirePermit()
-
-
-
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()
-
-