package com.zillabyte.motherbrain.utils.backoff;
public class ExponentialBackoffTicker extends BackoffTicker {
private static final long serialVersionUID = -1000254858589723349L;
private long _nextTick = 1;
public ExponentialBackoffTicker() {
super();
}
public ExponentialBackoffTicker(long upperBound) {
super(upperBound);
}
@Override
protected final boolean handleTick(long counter) {
/*
* We happen to know this is protected by a synchronized block.
*/
if (_nextTick == counter) {
_nextTick = _nextTick * 2;
return true;
}
return false;
}
}