@Override
    public void onSuccess() {
        final State currentState = state();
        if (currentState.isClosed()) {
            // fires success event
            final EventCount updatedCount = currentState.counter().onSuccess();
            // notifies the count if it has been updated
            if (updatedCount != null) {
                notifyCountUpdated(updatedCount);
            }
        } else if (currentState.isHalfOpen()) {
            // changes to CLOSED if at least one request succeeds during HALF_OPEN
            if (state.compareAndSet(currentState, newClosedState())) {
                logStateTransition(CircuitState.CLOSED, null);
                notifyStateChanged(CircuitState.CLOSED);
            }
        }
    }
Creates a new {@link NonBlockingCircuitBreaker} with the specified {@link Ticker} and
{@link CircuitBreakerConfig}.
core/src/main/java/com/linecorp/armeria/client/circuitbreaker/NonBlockingCircuitBreaker.java