diff options
Diffstat (limited to 'jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java')
-rw-r--r-- | jrt/src/com/yahoo/jrt/slobrok/api/BackOff.java | 30 |
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)); + } +} |