summaryrefslogtreecommitdiffstats
path: root/jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java
diff options
context:
space:
mode:
Diffstat (limited to 'jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java')
-rw-r--r--jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java b/jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java
new file mode 100644
index 00000000000..ead299a7a8d
--- /dev/null
+++ b/jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java
@@ -0,0 +1,30 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jrt.slobrok.api;
+
+
+class BackOff implements BackOffPolicy
+{
+ private double time = 0.50;
+
+ public void reset() {
+ time = 0.50;
+ }
+
+ public double get() {
+ double ret = time;
+ if (time < 5.0) {
+ time += 0.5;
+ } else if (time < 10.0) {
+ time += 1.0;
+ } else if (time < 30.0) {
+ time += 5;
+ } else {
+ // max retry time is 30 seconds
+ }
+ return ret;
+ }
+
+ public boolean shouldWarn(double t) {
+ return ((t > 8.1 && t < 9.9) || (t > 29.9));
+ }
+}