in safeguard-impl/src/main/java/org/apache/safeguard/impl/circuitbreaker/CircuitBreakerInterceptor.java [129:143]
public State isStateTransition(final CircuitBreakerImpl breaker,
final CheckIntervalData currentData,
final CheckIntervalData nextData) {
breaker.halfOpenDuration.set(now() - currentData.checkIntervalStart);
final int falseCount = nextData.count - nextData.states.cardinality();
if (falseCount > 0) { // an error occurred
return OPEN;
}
final int cardinality = nextData.states.cardinality();
if (cardinality == nextData.count && cardinality >= breaker.successThreshold) {
return CLOSED;
}
return this;
}