Mercurial Hosting > luan
annotate src/org/eclipse/jetty/io/EndPoint.java @ 868:688b875e18ba
remove ThreadLocalBuffers
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Mon, 03 Oct 2016 19:29:34 -0600 | 
| parents | 3428c60d7cfc | 
| children | bdb6eb0fbf93 | 
| rev | line source | 
|---|---|
| 802 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 1 // | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 2 // ======================================================================== | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 3 // Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 4 // ------------------------------------------------------------------------ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 5 // All rights reserved. This program and the accompanying materials | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 6 // are made available under the terms of the Eclipse Public License v1.0 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 7 // and Apache License v2.0 which accompanies this distribution. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 8 // | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 9 // The Eclipse Public License is available at | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 10 // http://www.eclipse.org/legal/epl-v10.html | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 11 // | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 12 // The Apache License v2.0 is available at | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 13 // http://www.opensource.org/licenses/apache2.0.php | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 14 // | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 15 // You may elect to redistribute this code under either of these licenses. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 16 // ======================================================================== | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 17 // | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 18 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 19 package org.eclipse.jetty.io; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 20 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 21 import java.io.IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 22 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 23 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 24 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 25 * | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 26 * A transport EndPoint | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 27 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 28 public interface EndPoint | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 29 { | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 30 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 31 * Shutdown any backing output stream associated with the endpoint | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 32 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 33 void shutdownOutput() throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 34 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 35 boolean isOutputShutdown(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 36 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 37 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 38 * Shutdown any backing input stream associated with the endpoint | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 39 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 40 void shutdownInput() throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 41 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 42 boolean isInputShutdown(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 43 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 44 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 45 * Close any backing stream associated with the endpoint | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 46 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 47 void close() throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 48 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 49 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 50 * Fill the buffer from the current putIndex to it's capacity from whatever | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 51 * byte source is backing the buffer. The putIndex is increased if bytes filled. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 52 * The buffer may chose to do a compact before filling. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 53 * @return an <code>int</code> value indicating the number of bytes | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 54 * filled or -1 if EOF is reached. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 55 * @throws EofException If input is shutdown or the endpoint is closed. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 56 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 57 int fill(Buffer buffer) throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 58 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 59 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 60 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 61 * Flush the buffer from the current getIndex to it's putIndex using whatever byte | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 62 * sink is backing the buffer. The getIndex is updated with the number of bytes flushed. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 63 * Any mark set is cleared. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 64 * If the entire contents of the buffer are flushed, then an implicit empty() is done. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 65 * | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 66 * @param buffer The buffer to flush. This buffers getIndex is updated. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 67 * @return the number of bytes written | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 68 * @throws EofException If the endpoint is closed or output is shutdown. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 69 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 70 int flush(Buffer buffer) throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 71 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 72 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 73 * Flush the buffer from the current getIndex to it's putIndex using whatever byte | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 74 * sink is backing the buffer. The getIndex is updated with the number of bytes flushed. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 75 * Any mark set is cleared. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 76 * If the entire contents of the buffer are flushed, then an implicit empty() is done. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 77 * The passed header/trailer buffers are written before/after the contents of this buffer. This may be done | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 78 * either as gather writes, as a poke into this buffer or as several writes. The implementation is free to | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 79 * select the optimal mechanism. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 80 * @param header A buffer to write before flushing this buffer. This buffers getIndex is updated. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 81 * @param buffer The buffer to flush. This buffers getIndex is updated. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 82 * @param trailer A buffer to write after flushing this buffer. This buffers getIndex is updated. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 83 * @return the total number of bytes written. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 84 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 85 int flush(Buffer header, Buffer buffer, Buffer trailer) throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 86 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 87 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 88 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 89 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 90 * @return The local IP address to which this <code>EndPoint</code> is bound, or <code>null</code> | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 91 * if this <code>EndPoint</code> does not represent a network connection. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 92 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 93 public String getLocalAddr(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 94 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 95 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 96 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 97 * @return The local host name to which this <code>EndPoint</code> is bound, or <code>null</code> | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 98 * if this <code>EndPoint</code> does not represent a network connection. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 99 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 100 public String getLocalHost(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 101 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 102 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 103 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 104 * @return The local port number on which this <code>EndPoint</code> is listening, or <code>0</code> | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 105 * if this <code>EndPoint</code> does not represent a network connection. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 106 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 107 public int getLocalPort(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 108 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 109 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 110 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 111 * @return The remote IP address to which this <code>EndPoint</code> is connected, or <code>null</code> | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 112 * if this <code>EndPoint</code> does not represent a network connection. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 113 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 114 public String getRemoteAddr(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 115 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 116 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 117 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 118 * @return The host name of the remote machine to which this <code>EndPoint</code> is connected, or <code>null</code> | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 119 * if this <code>EndPoint</code> does not represent a network connection. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 120 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 121 public String getRemoteHost(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 122 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 123 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 124 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 125 * @return The remote port number to which this <code>EndPoint</code> is connected, or <code>0</code> | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 126 * if this <code>EndPoint</code> does not represent a network connection. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 127 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 128 public int getRemotePort(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 129 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 130 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 131 public boolean isBlocking(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 132 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 133 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 134 public boolean blockReadable(long millisecs) throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 135 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 136 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 137 public boolean blockWritable(long millisecs) throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 138 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 139 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 140 public boolean isOpen(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 141 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 142 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 143 /** | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 144 * @return The underlying transport object (socket, channel, etc.) | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 145 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 146 public Object getTransport(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 147 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 148 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 149 /** Flush any buffered output. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 150 * May fail to write all data if endpoint is non-blocking | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 151 * @throws EofException If the endpoint is closed or output is shutdown. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 152 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 153 public void flush() throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 154 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 155 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 156 /** Get the max idle time in ms. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 157 * <p>The max idle time is the time the endpoint can be idle before | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 158 * extraordinary handling takes place. This loosely corresponds to | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 159 * the {@link java.net.Socket#getSoTimeout()} for blocking connections, | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 160 * but {@link AsyncEndPoint} implementations must use other mechanisms | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 161 * to implement the max idle time. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 162 * @return the max idle time in ms or if ms <= 0 implies an infinite timeout | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 163 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 164 public int getMaxIdleTime(); | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 165 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 166 /* ------------------------------------------------------------ */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 167 /** Set the max idle time. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 168 * @param timeMs the max idle time in MS. Timeout <= 0 implies an infinite timeout | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 169 * @throws IOException if the timeout cannot be set. | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 170 */ | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 171 public void setMaxIdleTime(int timeMs) throws IOException; | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 172 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 173 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 174 | 
| 
3428c60d7cfc
replace jetty jars with source
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 175 } | 
