HalfOpen

class HalfOpen : CircuitBreaker.State

The CircuitBreaker is in HalfOpen state while it's allowing a test request to go through.

  • All other requests made while the test request is still running will short-circuit/fail-fast.

  • If the test request succeeds, then the CircuitBreaker is tripped back into Closed, with the reset timeout, and the failures count also reset to their initial values.

  • If the test request fails, then the CircuitBreaker is tripped back into Open, the resetTimeout is multiplied by the exponentialBackoffFactor, up to the configured maxResetTimeout.

Parameters

resetTimeoutNanos

is the current reset timeout that the CircuitBreaker has to stay in Open state. When the reset timeout lapsed, than the CircuitBreaker will allow a test request to go through in HalfOpen. If the test request failed, the CircuitBreaker will go back into Open and it'll multiply the resetTimeoutNanos with the the exponential backoff factor.

Constructors

Link copied to clipboard
fun HalfOpen(resetTimeoutNanos: Double)

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String

Properties

Link copied to clipboard
val resetTimeoutNanos: Double