|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.Thread | +--net.sourceforge.jtds.util.TimerThread
Simple timer class used to implement login and query timeouts.
This thread runs as a Daemon thread to ensure that the java VM will exit correctly when normal execution is complete. It provides both a singleton implementation and a default constructor for the case when more than one timer thread is desired.
Inner Class Summary | |
static interface |
TimerThread.TimerListener
Interface to be implemented by classes that request timer services. |
private static class |
TimerThread.TimerRequest
Internal class associating a login or query timeout value with a target TimerListener . |
Field Summary | |
private static TimerThread |
instance
Singleton instance. |
private long |
nextTimeout
Time when the first request time out should occur. |
private java.util.LinkedList |
timerList
List of TimerRequest s to execute, ordered by time. |
Fields inherited from class java.lang.Thread |
contextClassLoader, daemon, eetop, group, inheritableThreadLocals, inheritedAccessControlContext, MAX_PRIORITY, MIN_PRIORITY, name, NORM_PRIORITY, priority, single_step, stillborn, stopThreadPermission, target, threadInitNumber, threadLocals, threadQ |
Constructor Summary | |
TimerThread()
Construct a new TimerThread instance. |
Method Summary | |
boolean |
cancelTimer(java.lang.Object handle)
Remove a redundant timer before it expires. |
static TimerThread |
getInstance()
Singleton getter. |
boolean |
hasExpired(java.lang.Object handle)
Check whether a timer has expired. |
void |
run()
Execute the TimerThread main loop. |
java.lang.Object |
setTimer(int timeout,
TimerThread.TimerListener l)
Add a timer request to the queue. |
private void |
updateNextTimeout()
Internal method that updates the value of nextTimeout . |
Methods inherited from class java.lang.Thread |
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private static TimerThread instance
private final java.util.LinkedList timerList
TimerRequest
s to execute, ordered by time.private long nextTimeout
Constructor Detail |
public TimerThread()
TimerThread
instance.Method Detail |
public static TimerThread getInstance()
public void run()
TimerThread
main loop.run
in class java.lang.Thread
public java.lang.Object setTimer(int timeout, TimerThread.TimerListener l)
timeout
- the interval in milliseconds after which the timer will
expirel
- TimerListener
to be notified on timeoutcancelTimer
public boolean cancelTimer(java.lang.Object handle)
handle
- handle to the request to be removed from the queue (a
TimerRequest
instance)true
if timer had not expiredpublic boolean hasExpired(java.lang.Object handle)
handle
- handle to the request to be checked for expiry (a
TimerRequest
instance)true
if timer has expiredprivate void updateNextTimeout()
nextTimeout
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |