public class DefaultInvocationGate extends java.lang.Object implements InvocationGate
| Modifier and Type | Field and Description |
|---|---|
(package private) static int |
DEFAULT_MASK |
private long |
invocationCounter |
(package private) long |
lowerLimitForMaskMatch |
private long |
mask |
(package private) static int |
MASK_DECREASE_RIGHT_SHIFT_COUNT |
private static long |
MASK_DECREASE_THRESHOLD |
private static long |
MASK_INCREASE_THRESHOLD |
private static int |
MAX_MASK |
private long |
maxDelayThreshold |
private long |
minDelayThreshold |
(package private) long |
upperLimitForNoMaskMatch |
TIME_UNAVAILABLE| Constructor and Description |
|---|
DefaultInvocationGate() |
DefaultInvocationGate(long minDelayThreshold,
long maxDelayThreshold,
long currentTime) |
| Modifier and Type | Method and Description |
|---|---|
private void |
decreaseMask() |
long |
getInvocationCounter() |
(package private) long |
getMask() |
private void |
increaseMask() |
boolean |
isTooSoon(long currentTime)
The caller of this method can decide to skip further work if the returned value is true.
|
private void |
updateLimits(long currentTime) |
static final int MASK_DECREASE_RIGHT_SHIFT_COUNT
private static final int MAX_MASK
static final int DEFAULT_MASK
private volatile long mask
private long invocationCounter
private static final long MASK_INCREASE_THRESHOLD
private static final long MASK_DECREASE_THRESHOLD
private long minDelayThreshold
private long maxDelayThreshold
long lowerLimitForMaskMatch
long upperLimitForNoMaskMatch
public DefaultInvocationGate()
public DefaultInvocationGate(long minDelayThreshold,
long maxDelayThreshold,
long currentTime)
public final boolean isTooSoon(long currentTime)
InvocationGateisTooSoon in interface InvocationGateprivate void updateLimits(long currentTime)
long getMask()
private void increaseMask()
private void decreaseMask()
public long getInvocationCounter()