ExponentialBackoff

data class ExponentialBackoff(val base: Double = 2.0, val baseDelayMs: Long, val maxDelayMs: Long, val randomizationMs: Long) : BackoffStrategy

Applies exponential backoff between retry attempts.

The delay for attempt n is calculated as: min(baseDelayMs * base^n + random(0..randomizationMs), maxDelayMs)

Parameters

base

The exponential base multiplier. Defaults to 2.0.

baseDelayMs

The initial delay in milliseconds before the first retry. Defaults to 1000.

maxDelayMs

The maximum delay in milliseconds, capping exponential growth. Defaults to 60000.

randomizationMs

Random jitter added to each delay to avoid thundering herd. Defaults to 1000.

Constructors

Link copied to clipboard
constructor(base: Double = 2.0, baseDelayMs: Long, maxDelayMs: Long, randomizationMs: Long)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val enabled: Boolean = true

Whether a backoff delay is applied between retries.

Link copied to clipboard
Link copied to clipboard