Mercurial Hosting > luan
comparison src/org/eclipse/jetty/io/Connection.java @ 802:3428c60d7cfc
replace jetty jars with source
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 07 Sep 2016 21:15:48 -0600 |
parents | |
children | 7b94f5b33c64 |
comparison
equal
deleted
inserted
replaced
801:6a21393191c1 | 802:3428c60d7cfc |
---|---|
1 // | |
2 // ======================================================================== | |
3 // Copyright (c) 1995-2014 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.io; | |
20 | |
21 import java.io.IOException; | |
22 | |
23 /* ------------------------------------------------------------ */ | |
24 /** Abstract Connection used by Jetty Connectors. | |
25 * <p> | |
26 * Jetty will call the handle method of a connection when there is work | |
27 * to be done on the connection. For blocking connections, this is soon | |
28 * as the connection is open and handle will keep being called until the | |
29 * connection is closed. For non-blocking connections, handle will only | |
30 * be called if there are bytes to be read or the connection becomes writable | |
31 * after being write blocked. | |
32 * | |
33 * @see org.eclipse.jetty.io.nio.SelectorManager | |
34 */ | |
35 public interface Connection | |
36 { | |
37 /* ------------------------------------------------------------ */ | |
38 /** | |
39 * Handle the connection. | |
40 * @return The Connection to use for the next handling of the connection. | |
41 * This allows protocol upgrades and support for CONNECT. | |
42 * @throws IOException if the handling of I/O operations fail | |
43 */ | |
44 Connection handle() throws IOException; | |
45 | |
46 /** | |
47 * @return the timestamp at which the connection was created | |
48 */ | |
49 long getTimeStamp(); | |
50 | |
51 /** | |
52 * @return whether this connection is idle, that is not parsing and not generating | |
53 * @see #onIdleExpired(long) | |
54 */ | |
55 boolean isIdle(); | |
56 | |
57 /** | |
58 * <p>The semantic of this method is to return true to indicate interest in further reads, | |
59 * or false otherwise, but it is misnamed and should be really called <code>isReadInterested()</code>.</p> | |
60 * | |
61 * @return true to indicate interest in further reads, false otherwise | |
62 */ | |
63 // TODO: rename to isReadInterested() in the next release | |
64 boolean isSuspended(); | |
65 | |
66 /** | |
67 * Called after the connection is closed | |
68 */ | |
69 void onClose(); | |
70 | |
71 /** | |
72 * Called when the connection idle timeout expires | |
73 * @param idleForMs how long the connection has been idle | |
74 * @see #isIdle() | |
75 */ | |
76 void onIdleExpired(long idleForMs); | |
77 } |