dragonroll/backend/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js

15 lines
487 B
JavaScript

import { DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY } from "./constants";
export const getDefaultRetryBackoffStrategy = () => {
let delayBase = DEFAULT_RETRY_DELAY_BASE;
const computeNextBackoffDelay = (attempts) => {
return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));
};
const setDelayBase = (delay) => {
delayBase = delay;
};
return {
computeNextBackoffDelay,
setDelayBase,
};
};