edu.cuny.cat.server
Class TimeoutController

java.lang.Object
  extended by edu.cuny.cat.server.TimeoutController
All Implemented Interfaces:
edu.cuny.config.param.Parameterizable

public class TimeoutController
extends java.lang.Object
implements edu.cuny.config.param.Parameterizable

monitors time-sensitive actions and invokes timeout handlers if necessary.

Parameters

base.sessiontimeout
int >=1 (60000 by default)
(the number of milli-seconds the server waits for a catp session to terminate)

Default Base

timemout

Version:
$Revision: 1.4 $
Author:
Jinzhong Niu

Field Summary
 long DEFAULT_SESSIONTIMEOUT
           
protected  java.util.concurrent.ScheduledExecutorService executor
           
protected  CatpInfrastructure infrast
           
static java.lang.String P_DEF_BASE
           
static java.lang.String P_SESSIONTIMEOUT
           
protected  long sessionTimeout
           
protected  edu.cuny.util.ResourcePool<SessionTimeoutTask> taskPool
           
 
Constructor Summary
TimeoutController()
           
 
Method Summary
 void demonitor(SessionTimeoutTask task)
           
 long getSessionTimeout()
           
 TimeoutTask monitor(ConnectionAdaptor adaptor, TimableCatpProactiveSession session)
          schedules a SessionTimeoutTask to monitor the duration of the session via a catp connection with the default timeout.
 TimeoutTask monitor(ConnectionAdaptor adaptor, TimableCatpProactiveSession session, long sessionTimeout)
          schedules a SessionTimeoutTask to monitor the duration of the session via a catp connection with a specified timeout.
 void setup(edu.cuny.config.param.ParameterDatabase parameters, edu.cuny.config.param.Parameter base)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

P_SESSIONTIMEOUT

public static final java.lang.String P_SESSIONTIMEOUT
See Also:
Constant Field Values

P_DEF_BASE

public static final java.lang.String P_DEF_BASE
See Also:
Constant Field Values

DEFAULT_SESSIONTIMEOUT

public final long DEFAULT_SESSIONTIMEOUT
See Also:
Constant Field Values

sessionTimeout

protected long sessionTimeout

executor

protected java.util.concurrent.ScheduledExecutorService executor

taskPool

protected edu.cuny.util.ResourcePool<SessionTimeoutTask> taskPool

infrast

protected CatpInfrastructure infrast
Constructor Detail

TimeoutController

public TimeoutController()
Method Detail

setup

public void setup(edu.cuny.config.param.ParameterDatabase parameters,
                  edu.cuny.config.param.Parameter base)
Specified by:
setup in interface edu.cuny.config.param.Parameterizable

getSessionTimeout

public long getSessionTimeout()

monitor

public TimeoutTask monitor(ConnectionAdaptor adaptor,
                           TimableCatpProactiveSession session)
schedules a SessionTimeoutTask to monitor the duration of the session via a catp connection with the default timeout.

Parameters:
adaptor -
session -

monitor

public TimeoutTask monitor(ConnectionAdaptor adaptor,
                           TimableCatpProactiveSession session,
                           long sessionTimeout)
schedules a SessionTimeoutTask to monitor the duration of the session via a catp connection with a specified timeout.

Parameters:
adaptor -
session -
sessionTimeout -

demonitor

public void demonitor(SessionTimeoutTask task)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object