//arrow-fx-coroutines/arrow.fx.coroutines/CircuitBreaker/Companion/of

of

common suspend fun of(maxFailures: Int, resetTimeoutNanos: Double, exponentialBackoffFactor: Double = 1.0, maxResetTimeout: Double = Double.POSITIVE_INFINITY, onRejected: suspend () -> Unit = { }, onClosed: suspend () -> Unit = { }, onHalfOpen: suspend () -> Unit = { }, onOpen: suspend () -> Unit = { }): CircuitBreaker

Attempts to create a CircuitBreaker.

Parameters

common

   
maxFailures is the maximum count for failures before opening the circuit breaker.
resetTimeoutNanos is the timeout to wait in the Open state before attempting a close of the circuit breaker (but without the backoff factor applied) in nanoseconds.
exponentialBackoffFactor is a factor to use for resetting the resetTimeout when in the HalfOpen state, in case the attempt to Close fails.
maxResetTimeout is the maximum timeout the circuit breaker is allowed to use when applying the exponentialBackoffFactor.
onRejected is a callback for signaling rejected tasks, so every time a task execution is attempted and rejected in CircuitBreaker.Open or CircuitBreaker.HalfOpen states.
onClosed is a callback for signaling transitions to the CircuitBreaker.State.Closed state.
onHalfOpen is a callback for signaling transitions to CircuitBreaker.State.HalfOpen.
onOpen is a callback for signaling transitions to CircuitBreaker.State.Open.

common

@ExperimentalTime

suspend fun of(maxFailures: Int, resetTimeout: Duration, exponentialBackoffFactor: Double = 1.0, maxResetTimeout: Duration = Duration.INFINITE, onRejected: suspend () -> Unit = suspend { }, onClosed: suspend () -> Unit = suspend { }, onHalfOpen: suspend () -> Unit = suspend { }, onOpen: suspend () -> Unit = suspend { }): CircuitBreaker

Attempts to create a CircuitBreaker.

Parameters

common

   
maxFailures is the maximum count for failures before opening the circuit breaker.
resetTimeout is the timeout to wait in the Open state before attempting a close of the circuit breaker (but without the backoff factor applied).
exponentialBackoffFactor is a factor to use for resetting the resetTimeout when in the HalfOpen state, in case the attempt to Close fails.
maxResetTimeout is the maximum timeout the circuit breaker is allowed to use when applying the exponentialBackoffFactor.
onRejected is a callback for signaling rejected tasks, so every time a task execution is attempted and rejected in CircuitBreaker.Open or CircuitBreaker.HalfOpen states.
onClosed is a callback for signaling transitions to the CircuitBreaker.State.Closed state.
onHalfOpen is a callback for signaling transitions to CircuitBreaker.State.HalfOpen.
onOpen is a callback for signaling transitions to CircuitBreaker.State.Open.

Do you like Arrow?

Arrow Org
<