View Javadoc

1   //
2   //  ========================================================================
3   //  Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd.
4   //  ------------------------------------------------------------------------
5   //  All rights reserved. This program and the accompanying materials
6   //  are made available under the terms of the Eclipse Public License v1.0
7   //  and Apache License v2.0 which accompanies this distribution.
8   //
9   //      The Eclipse Public License is available at
10  //      http://www.eclipse.org/legal/epl-v10.html
11  //
12  //      The Apache License v2.0 is available at
13  //      http://www.opensource.org/licenses/apache2.0.php
14  //
15  //  You may elect to redistribute this code under either of these licenses.
16  //  ========================================================================
17  //
18  
19  package org.eclipse.jetty.continuation;
20  
21  import java.util.EventListener;
22  
23  import javax.servlet.ServletRequestListener;
24  
25  /** 
26   * A Continuation Listener
27   * <p>
28   * A ContinuationListener may be registered with a call to
29   * {@link Continuation#addContinuationListener(ContinuationListener)}.
30   */
31  public interface ContinuationListener extends EventListener
32  {
33      /* ------------------------------------------------------------ */
34      /**
35       * Called when a continuation life cycle is complete and after
36       * any calls to {@link ServletRequestListener#requestDestroyed(javax.servlet.ServletRequestEvent)}
37       * The response may still be written to during the call.
38       *
39       * @param continuation the continuation
40       */
41      public void onComplete(Continuation continuation);
42  
43      /* ------------------------------------------------------------ */
44      /**
45       * Called when a suspended continuation has timed out.
46       * The response may be written to and the methods
47       * {@link Continuation#resume()} or {@link Continuation#complete()}
48       * may be called by a onTimeout implementation,
49       * @param continuation the continuation
50       */
51      public void onTimeout(Continuation continuation);
52  
53  }