org.directwebremoting.server.jetty
Class JettyContinuationSleeper

java.lang.Object
  extended by org.directwebremoting.server.jetty.JettyContinuationSleeper
All Implemented Interfaces:
java.io.Serializable, Sleeper

public class JettyContinuationSleeper
extends java.lang.Object
implements Sleeper

A Sleeper that works with Jetty Continuations

Author:
Joe Walker [joe at getahead dot ltd dot uk], Tim Peierls [tim at peierls dot net]
See Also:
Serialized Form

Constructor Summary
JettyContinuationSleeper(javax.servlet.http.HttpServletRequest request)
           
 
Method Summary
 void goToSleep(java.lang.Runnable awakening)
          'halt' the current execution in some way.
static boolean isRestart(javax.servlet.http.HttpServletRequest request)
          Is this a restarted continuation?
static void restart(javax.servlet.http.HttpServletRequest request)
          Act on a restarted continuation by executing the onAwakening action
 void wakeUp()
          This method should attempt to resume the execution.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JettyContinuationSleeper

public JettyContinuationSleeper(javax.servlet.http.HttpServletRequest request)
Parameters:
request - The request into which we store this as an attribute
Method Detail

isRestart

public static boolean isRestart(javax.servlet.http.HttpServletRequest request)
Is this a restarted continuation?

Parameters:
request - The request on which a Sleeper might be stored
Returns:
true if this request is from a restarted Continuation

restart

public static void restart(javax.servlet.http.HttpServletRequest request)
Act on a restarted continuation by executing the onAwakening action

Parameters:
request - The request on which the Sleeper is stored

goToSleep

public void goToSleep(java.lang.Runnable awakening)
Description copied from interface: Sleeper
'halt' the current execution in some way. This method should be the last meaningful thing that is done on a request, and work that needs to be done before completion should be done in a Runnable so the system can schedule it at an appropriate time.

Specified by:
goToSleep in interface Sleeper
Parameters:
awakening - The action to take when Sleeper.wakeUp() is called

wakeUp

public void wakeUp()
Description copied from interface: Sleeper
This method should attempt to resume the execution. It is possible that this method will be called more than once at the same time so Sleepers should be prepared take steps to be woken only once.

Specified by:
wakeUp in interface Sleeper

Copyright 2008