org.mortbay.thread
Class Timeout

java.lang.Object
  extended by org.mortbay.thread.Timeout

public class Timeout
extends Object

Timeout queue. This class implements a timeout queue for timers that are at least as likely to be cancelled as they are to expire. Unlike the util timeout class, the duration of the timouts is shared by all scheduled tasks and if the duration is changed, this affects all scheduled tasks. The nested class Task should be extended by users of this class to obtain call back notification of expiries.

Author:
gregw

Nested Class Summary
static class Timeout.Task
          Task.
 
Constructor Summary
Timeout()
           
 
Method Summary
 void cancelAll()
           
 Timeout.Task expired()
           
 long getDuration()
           
 long getNow()
           
 long getTimeToNext()
           
 boolean isEmpty()
           
 void schedule(Timeout.Task task)
           
 void schedule(Timeout.Task task, long delay)
           
 void setDuration(long duration)
           
 void setNow()
           
 void setNow(long now)
           
 void tick()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Timeout

public Timeout()
Method Detail

getDuration

public long getDuration()
Returns:
Returns the duration.

setDuration

public void setDuration(long duration)
Parameters:
duration - The duration to set.

setNow

public void setNow()

getNow

public long getNow()

setNow

public void setNow(long now)

expired

public Timeout.Task expired()

tick

public void tick()

schedule

public void schedule(Timeout.Task task)

schedule

public void schedule(Timeout.Task task,
                     long delay)

cancelAll

public void cancelAll()

isEmpty

public boolean isEmpty()

getTimeToNext

public long getTimeToNext()

toString

public String toString()
Overrides:
toString in class Object