java.lang.Object
net.i2p.util.SimpleTimer2.TimedEvent
net.i2p.router.util.DecayingBloomFilter.DecayHourlyEvent
- All Implemented Interfaces:
Runnable
- Enclosing class:
DecayingBloomFilter
Decays at 5 minutes after the top of the hour. This ignores leap seconds.
Field Summary
FieldsModifier and TypeFieldDescriptionprivate longThe hour the current filter covers.private static final longOne hour, in ms.private static final longHow long past the hour rotation may wait: 5 minutes.Fields inherited from class SimpleTimer2.TimedEvent
_state, DEFAULT_FUZZModifier and TypeFieldDescriptionprotected SimpleTimer2.TimedEventStateState of the current event.protected static final intDefault fuzz threshold in milliseconds.Constructor Summary
ConstructorsMethod Summary
Modifier and TypeMethodDescriptionprivate longSide effect: sets the current hour.voidDecay at the next hour, if the hour has changed.Methods inherited from class SimpleTimer2.TimedEvent
cancel, forceReschedule, reschedule, reschedule, run, schedule, setFuzz, setPool, toStringModifier and TypeMethodDescriptionbooleancancel()Cancel the timed event.voidforceReschedule(long timeoutMs) Always use the new time - ignores fuzz.voidreschedule(long timeoutMs) Use the earliest of the new time and the old time May be called from within timeReached(), but schedule() is better there.voidreschedule(long timeoutMs, boolean useEarliestTime) May be called from within timeReached(), but schedule() is better there.voidrun()voidschedule(long timeoutMs) Schedule this event.voidsetFuzz(int fuzz) Reschedule threshold in ms.voidsetPool(SimpleTimer2 pool) Timer pool for this event.toString()Timer summary for log messages.
Field Details
HOUR
LAG
private static final long LAGHow long past the hour rotation may wait: 5 minutes.- See Also:
_currentHour
private volatile long _currentHourThe hour the current filter covers.
Constructor Details
DecayHourlyEvent
DecayHourlyEvent()Schedules itself. Caller MUST NOT schedule.
Method Details
timeReached
public void timeReached()Decay at the next hour, if the hour has changed.- Specified by:
timeReachedin classSimpleTimer2.TimedEvent
getTimeTillNextHour
private long getTimeTillNextHour()Side effect: sets the current hour.- Returns:
- the milliseconds until the next hour