Package com.biglybt.core.util
Class Timer
- java.lang.Object
-
- com.biglybt.core.util.AERunnable
-
- com.biglybt.core.util.Timer
-
- All Implemented Interfaces:
SystemTime.ChangeListener
,java.lang.Runnable
public class Timer extends AERunnable implements SystemTime.ChangeListener
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Timer.evidenceGenerator
-
Nested classes/interfaces inherited from class com.biglybt.core.util.AERunnable
AERunnable.AERunnableNamed
-
-
Field Summary
Fields Modifier and Type Field Description private long
current_when
private static boolean
DEBUG_TIMERS
private boolean
destroyed
private java.util.Set<TimerEvent>
events
private boolean
indestructable
private boolean
log
private int
max_events_logged
private int
slow_event_limit
private ThreadPool
thread_pool
private static java.util.ArrayList<java.lang.ref.WeakReference<Timer>>
timers
(package private) static AEMonitor
timers_mon
private long
unique_id_next
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TimerEvent
addEvent(long creation_time, long when, boolean absolute, TimerEventPerformer performer)
TimerEvent
addEvent(long creation_time, long when, TimerEventPerformer performer)
TimerEvent
addEvent(long when, TimerEventPerformer performer)
TimerEvent
addEvent(java.lang.String name, long when, boolean absolute, TimerEventPerformer performer)
TimerEvent
addEvent(java.lang.String name, long creation_time, long when, boolean absolute, TimerEventPerformer performer)
TimerEvent
addEvent(java.lang.String name, long creation_time, long when, TimerEventPerformer performer)
TimerEvent
addEvent(java.lang.String name, long when, TimerEventPerformer performer)
TimerEventPeriodic
addPeriodicEvent(long frequency, TimerEventPerformer performer)
TimerEventPeriodic
addPeriodicEvent(java.lang.String name, long frequency, boolean absolute, TimerEventPerformer performer)
TimerEventPeriodic
addPeriodicEvent(java.lang.String name, long frequency, TimerEventPerformer performer)
void
adjustAllBy(long offset)
protected void
cancelEvent(TimerEvent event)
void
clockChangeCompleted(long current_time, long offset)
Called after the change is visible to getCurrentTime callersvoid
clockChangeDetected(long current_time, long offset)
Called before the change becomes visible to getCurrentTime callersvoid
destroy()
void
dump()
int
getEventCount()
int
getEventCount(long up_to_when)
java.util.List<TimerEvent>
getEvents()
java.util.List<TimerEvent>
getEvents(long up_to_when)
long
getLag()
boolean
getLogging()
java.lang.String
getName()
ThreadPool
getThreadPool()
void
modifyWhen(TimerEvent event, long new_when)
void
runSupport()
void
setIndestructable()
void
setLogCPU()
void
setLogging(boolean _log)
void
setSlowEventLimit(int millis)
void
setWarnWhenFull()
-
Methods inherited from class com.biglybt.core.util.AERunnable
create, run
-
-
-
-
Field Detail
-
DEBUG_TIMERS
private static final boolean DEBUG_TIMERS
- See Also:
- Constant Field Values
-
timers
private static java.util.ArrayList<java.lang.ref.WeakReference<Timer>> timers
-
timers_mon
static final AEMonitor timers_mon
-
thread_pool
private ThreadPool thread_pool
-
events
private java.util.Set<TimerEvent> events
-
unique_id_next
private long unique_id_next
-
current_when
private long current_when
-
destroyed
private volatile boolean destroyed
-
indestructable
private boolean indestructable
-
log
private boolean log
-
max_events_logged
private int max_events_logged
-
slow_event_limit
private int slow_event_limit
-
-
Method Detail
-
getThreadPool
public ThreadPool getThreadPool()
-
setIndestructable
public void setIndestructable()
-
getLag
public long getLag()
-
getEvents
public java.util.List<TimerEvent> getEvents()
-
getEvents
public java.util.List<TimerEvent> getEvents(long up_to_when)
-
getEventCount
public int getEventCount()
-
getEventCount
public int getEventCount(long up_to_when)
-
setLogging
public void setLogging(boolean _log)
-
getLogging
public boolean getLogging()
-
setWarnWhenFull
public void setWarnWhenFull()
-
setSlowEventLimit
public void setSlowEventLimit(int millis)
-
setLogCPU
public void setLogCPU()
-
runSupport
public void runSupport()
- Specified by:
runSupport
in classAERunnable
-
clockChangeDetected
public void clockChangeDetected(long current_time, long offset)
Description copied from interface:SystemTime.ChangeListener
Called before the change becomes visible to getCurrentTime callers- Specified by:
clockChangeDetected
in interfaceSystemTime.ChangeListener
-
clockChangeCompleted
public void clockChangeCompleted(long current_time, long offset)
Description copied from interface:SystemTime.ChangeListener
Called after the change is visible to getCurrentTime callers- Specified by:
clockChangeCompleted
in interfaceSystemTime.ChangeListener
-
adjustAllBy
public void adjustAllBy(long offset)
-
modifyWhen
public void modifyWhen(TimerEvent event, long new_when)
-
addEvent
public TimerEvent addEvent(long when, TimerEventPerformer performer)
-
addEvent
public TimerEvent addEvent(java.lang.String name, long when, TimerEventPerformer performer)
-
addEvent
public TimerEvent addEvent(java.lang.String name, long when, boolean absolute, TimerEventPerformer performer)
-
addEvent
public TimerEvent addEvent(long creation_time, long when, TimerEventPerformer performer)
-
addEvent
public TimerEvent addEvent(long creation_time, long when, boolean absolute, TimerEventPerformer performer)
-
addEvent
public TimerEvent addEvent(java.lang.String name, long creation_time, long when, TimerEventPerformer performer)
-
addEvent
public TimerEvent addEvent(java.lang.String name, long creation_time, long when, boolean absolute, TimerEventPerformer performer)
-
addPeriodicEvent
public TimerEventPeriodic addPeriodicEvent(long frequency, TimerEventPerformer performer)
-
addPeriodicEvent
public TimerEventPeriodic addPeriodicEvent(java.lang.String name, long frequency, TimerEventPerformer performer)
-
addPeriodicEvent
public TimerEventPeriodic addPeriodicEvent(java.lang.String name, long frequency, boolean absolute, TimerEventPerformer performer)
-
cancelEvent
protected void cancelEvent(TimerEvent event)
-
destroy
public void destroy()
-
getName
public java.lang.String getName()
-
dump
public void dump()
-
-