in safeguard-impl/src/main/java/org/apache/safeguard/impl/circuitbreaker/CircuitBreakerInterceptor.java [147:158]
public State isStateTransition(final CircuitBreakerImpl breaker,
final CheckIntervalData currentData,
final CheckIntervalData nextData) {
breaker.openDuration.set(now() - currentData.checkIntervalStart);
if (nextData.checkIntervalStart != currentData.checkIntervalStart) {
return breaker.successThreshold == 1 ? CLOSED : HALF_OPEN;
}
if (nextData.states.cardinality() > breaker.successThreshold) {
return breaker.successThreshold == 1 ? CLOSED : HALF_OPEN;
}
return this;
}