All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.jodah.failsafe.internal.DefaultCircuitStats Maven / Gradle / Ivy

The newest version!
package net.jodah.failsafe.internal;

/**
 * A default CircuitStats implementation that tracks a single execution result.
 */
class DefaultCircuitStats implements CircuitStats {
  volatile int result = -1;

  @Override
  public int getFailureCount() {
    return result == 0 ? 1 : 0;
  }

  @Override
  public int getExecutionCount() {
    return result == -1 ? 0 : 1;
  }

  @Override
  public int getSuccessCount() {
    return result == 1 ? 1 : 0;
  }

  @Override
  public int getFailureRate() {
    return getFailureCount() * 100;
  }

  @Override
  public int getSuccessRate() {
    return getSuccessCount() * 100;
  }

  @Override
  public void recordFailure() {
    result = 0;
  }

  @Override
  public void recordSuccess() {
    result = 1;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy