Options for the low-level withRetry wrapper.

interface RetryOptions {
    baseDelayMs?: number;
    isRetryable?: RetryableClassifier;
    jitter?: boolean;
    maxDelayMs?: number;
    maxRetries?: number;
    onRetry?: RetryLogger;
    sleep?: ((ms: number) => Promise<void>);
}

Properties

baseDelayMs?: number

Base delay in ms for the first backoff step. Default: 1000.

isRetryable?: RetryableClassifier

Error classifier. Default: isRetryableRpcError.

jitter?: boolean

Apply full jitter to each delay. Default: true.

maxDelayMs?: number

Upper bound for any single backoff delay. Default: 30000.

maxRetries?: number

Max retries after the initial attempt. Default: 3.

onRetry?: RetryLogger

Retry logger. Default: no-op.

sleep?: ((ms: number) => Promise<void>)

Clock seam used to wait between attempts. Injectable for tests. Default: a setTimeout-based sleep.