summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/types
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2020-08-20 16:27:20 +0530
committerFlorian Dold <florian.dold@gmail.com>2020-08-20 16:27:20 +0530
commit421e613f92b80c81c856d6b074aa160e80e38e3d (patch)
tree7284e8b856986de3ee4ca1362fa9b52ce1e22de1 /packages/taler-wallet-core/src/types
parentddf9171c5becb3bb1aebdd3e1a298644f62ed090 (diff)
downloadwallet-core-421e613f92b80c81c856d6b074aa160e80e38e3d.tar.gz
wallet-core-421e613f92b80c81c856d6b074aa160e80e38e3d.tar.bz2
wallet-core-421e613f92b80c81c856d6b074aa160e80e38e3d.zip
throttling diagnostics and request timeouts
Diffstat (limited to 'packages/taler-wallet-core/src/types')
-rw-r--r--packages/taler-wallet-core/src/types/dbTypes.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/types/dbTypes.ts b/packages/taler-wallet-core/src/types/dbTypes.ts
index 82260963b..e36e322d1 100644
--- a/packages/taler-wallet-core/src/types/dbTypes.ts
+++ b/packages/taler-wallet-core/src/types/dbTypes.ts
@@ -117,6 +117,17 @@ export function updateRetryInfoTimeout(
r.nextRetry = { t_ms: t };
}
+export function getRetryDuration(
+ r: RetryInfo,
+ p: RetryPolicy = defaultRetryPolicy,
+): Duration {
+ if (p.backoffDelta.d_ms === "forever") {
+ return { d_ms: "forever" };
+ }
+ const t = p.backoffDelta.d_ms * Math.pow(p.backoffBase, r.retryCounter);
+ return { d_ms: t };
+}
+
export function initRetryInfo(
active = true,
p: RetryPolicy = defaultRetryPolicy,