refactor: refine exponential delay code
authorJérôme Benoit <jerome.benoit@sap.com>
Fri, 25 Aug 2023 16:57:30 +0000 (18:57 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Fri, 25 Aug 2023 16:57:30 +0000 (18:57 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/utils/Utils.ts

index 1a93669dbc334f4b7c2b1d18bd7f049d0625cc4f..9b8074214a3440fee1201c40c297af2e15c6f784 100644 (file)
@@ -280,12 +280,12 @@ export const insertAt = (str: string, subStr: string, pos: number): string =>
  * Computes the retry delay in milliseconds using an exponential backoff algorithm.
  *
  * @param retryNumber - the number of retries that have already been attempted
- * @param maxDelayRatio - the maximum ratio of the delay that can be randomized
+ * @param delayFactor - the base delay factor in milliseconds
  * @returns delay in milliseconds
  */
-export const exponentialDelay = (retryNumber = 0, maxDelayRatio = 0.2): number => {
-  const delay = Math.pow(2, retryNumber) * 100;
-  const randomSum = delay * maxDelayRatio * secureRandom(); // 0-(maxDelayRatio*100)% of the delay
+export const exponentialDelay = (retryNumber = 0, delayFactor = 100): number => {
+  const delay = Math.pow(2, retryNumber) * delayFactor;
+  const randomSum = delay * 0.2 * secureRandom(); // 0-20% of the delay
   return delay + randomSum;
 };