Mercurial Hosting > luan
comparison src/org/eclipse/jetty/server/Connector.java @ 996:d9cfec64899c
simplify Connector
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 18 Oct 2016 21:22:53 -0600 |
parents | 5ee36654b383 |
children | 39154cfa58e4 |
comparison
equal
deleted
inserted
replaced
995:0eba8f555c19 | 996:d9cfec64899c |
---|---|
69 protected final HttpBuffersImpl _buffers = new HttpBuffersImpl(); | 69 protected final HttpBuffersImpl _buffers = new HttpBuffersImpl(); |
70 | 70 |
71 // from child classes | 71 // from child classes |
72 protected transient ServerSocketChannel _acceptChannel; | 72 protected transient ServerSocketChannel _acceptChannel; |
73 | 73 |
74 public Connector(Server server,int port) { | 74 protected Connector(Server server,int port) { |
75 this.server = server; | 75 this.server = server; |
76 this.port = port; | 76 this.port = port; |
77 server.connectors.add(this); | 77 server.connectors.add(this); |
78 addBean(_buffers); | 78 addBean(_buffers); |
79 _buffers.setRequestBufferType(Type.DIRECT); | 79 _buffers.setRequestBufferType(Type.DIRECT); |
80 _buffers.setRequestHeaderType(Type.INDIRECT); | 80 _buffers.setRequestHeaderType(Type.INDIRECT); |
81 _buffers.setResponseBufferType(Type.DIRECT); | 81 _buffers.setResponseBufferType(Type.DIRECT); |
82 _buffers.setResponseHeaderType(Type.INDIRECT); | 82 _buffers.setResponseHeaderType(Type.INDIRECT); |
83 } | 83 } |
84 | 84 |
85 public void setHost(String host) | 85 public final void setHost(String host) |
86 { | 86 { |
87 _host = host; | 87 _host = host; |
88 } | 88 } |
89 | 89 |
90 public String getHost() | 90 public final String getHost() |
91 { | 91 { |
92 return _host; | 92 return _host; |
93 } | 93 } |
94 | 94 |
95 public int getMaxIdleTime() | 95 public final int getMaxIdleTime() |
96 { | 96 { |
97 return _maxIdleTime; | 97 return _maxIdleTime; |
98 } | 98 } |
99 | 99 |
100 /* ------------------------------------------------------------ */ | 100 /* ------------------------------------------------------------ */ |
122 { | 122 { |
123 _maxIdleTime = maxIdleTime; | 123 _maxIdleTime = maxIdleTime; |
124 } | 124 } |
125 */ | 125 */ |
126 | 126 |
127 /* ------------------------------------------------------------ */ | 127 public final int getSoLingerTime() |
128 /** | |
129 * @return Returns the soLingerTime. | |
130 */ | |
131 public int getSoLingerTime() | |
132 { | 128 { |
133 return _soLingerTime; | 129 return _soLingerTime; |
134 } | 130 } |
135 | 131 |
136 /* ------------------------------------------------------------ */ | 132 /* ------------------------------------------------------------ */ |
137 /** | 133 /** |
138 * @param soLingerTime | 134 * @param soLingerTime |
139 * The soLingerTime to set or -1 to disable. | 135 * The soLingerTime to set or -1 to disable. |
140 */ | 136 */ |
141 public void setSoLingerTime(int soLingerTime) | 137 public final void setSoLingerTime(int soLingerTime) |
142 { | 138 { |
143 _soLingerTime = soLingerTime; | 139 _soLingerTime = soLingerTime; |
144 } | 140 } |
145 | 141 |
146 @Override | 142 @Override |
182 socket.setSoLinger(true,_soLingerTime / 1000); | 178 socket.setSoLinger(true,_soLingerTime / 1000); |
183 else | 179 else |
184 socket.setSoLinger(false,0); | 180 socket.setSoLinger(false,0); |
185 } | 181 } |
186 | 182 |
187 public void customize(EndPoint endpoint, Request request) throws IOException | 183 public abstract void customize(EndPoint endpoint, Request request) throws IOException; |
188 { | |
189 } | |
190 | 184 |
191 public boolean isConfidential() | 185 public boolean isConfidential() |
192 { | 186 { |
193 return false; | 187 return false; |
194 } | 188 } |
195 | 189 |
196 protected abstract void accept() throws IOException, InterruptedException; | 190 protected abstract void accept() throws IOException, InterruptedException; |
197 | 191 |
198 public void stopAccept(int acceptorID) throws Exception | 192 @Override |
199 { | 193 public final int getRequestBufferSize() |
200 } | |
201 | |
202 public int getRequestBufferSize() | |
203 { | 194 { |
204 return _buffers.getRequestBufferSize(); | 195 return _buffers.getRequestBufferSize(); |
205 } | 196 } |
206 | 197 |
207 public void setRequestBufferSize(int requestBufferSize) | 198 @Override |
199 public final void setRequestBufferSize(int requestBufferSize) | |
208 { | 200 { |
209 _buffers.setRequestBufferSize(requestBufferSize); | 201 _buffers.setRequestBufferSize(requestBufferSize); |
210 } | 202 } |
211 | 203 |
212 public int getRequestHeaderSize() | 204 @Override |
205 public final int getRequestHeaderSize() | |
213 { | 206 { |
214 return _buffers.getRequestHeaderSize(); | 207 return _buffers.getRequestHeaderSize(); |
215 } | 208 } |
216 | 209 |
217 public void setRequestHeaderSize(int requestHeaderSize) | 210 @Override |
211 public final void setRequestHeaderSize(int requestHeaderSize) | |
218 { | 212 { |
219 _buffers.setRequestHeaderSize(requestHeaderSize); | 213 _buffers.setRequestHeaderSize(requestHeaderSize); |
220 } | 214 } |
221 | 215 |
222 public int getResponseBufferSize() | 216 @Override |
217 public final int getResponseBufferSize() | |
223 { | 218 { |
224 return _buffers.getResponseBufferSize(); | 219 return _buffers.getResponseBufferSize(); |
225 } | 220 } |
226 | 221 |
227 public void setResponseBufferSize(int responseBufferSize) | 222 @Override |
223 public final void setResponseBufferSize(int responseBufferSize) | |
228 { | 224 { |
229 _buffers.setResponseBufferSize(responseBufferSize); | 225 _buffers.setResponseBufferSize(responseBufferSize); |
230 } | 226 } |
231 | 227 |
232 public int getResponseHeaderSize() | 228 @Override |
229 public final int getResponseHeaderSize() | |
233 { | 230 { |
234 return _buffers.getResponseHeaderSize(); | 231 return _buffers.getResponseHeaderSize(); |
235 } | 232 } |
236 | 233 |
237 public void setResponseHeaderSize(int responseHeaderSize) | 234 @Override |
235 public final void setResponseHeaderSize(int responseHeaderSize) | |
238 { | 236 { |
239 _buffers.setResponseHeaderSize(responseHeaderSize); | 237 _buffers.setResponseHeaderSize(responseHeaderSize); |
240 } | 238 } |
241 | 239 |
242 public Type getRequestBufferType() | 240 @Override |
241 public final Type getRequestBufferType() | |
243 { | 242 { |
244 return _buffers.getRequestBufferType(); | 243 return _buffers.getRequestBufferType(); |
245 } | 244 } |
246 | 245 |
247 public Type getRequestHeaderType() | 246 @Override |
247 public final Type getRequestHeaderType() | |
248 { | 248 { |
249 return _buffers.getRequestHeaderType(); | 249 return _buffers.getRequestHeaderType(); |
250 } | 250 } |
251 | 251 |
252 public Type getResponseBufferType() | 252 @Override |
253 public final Type getResponseBufferType() | |
253 { | 254 { |
254 return _buffers.getResponseBufferType(); | 255 return _buffers.getResponseBufferType(); |
255 } | 256 } |
256 | 257 |
257 public Type getResponseHeaderType() | 258 @Override |
259 public final Type getResponseHeaderType() | |
258 { | 260 { |
259 return _buffers.getResponseHeaderType(); | 261 return _buffers.getResponseHeaderType(); |
260 } | 262 } |
261 | 263 |
262 public void setRequestBuffers(Buffers requestBuffers) | 264 @Override |
265 public final void setRequestBuffers(Buffers requestBuffers) | |
263 { | 266 { |
264 _buffers.setRequestBuffers(requestBuffers); | 267 _buffers.setRequestBuffers(requestBuffers); |
265 } | 268 } |
266 | 269 |
267 public void setResponseBuffers(Buffers responseBuffers) | 270 @Override |
271 public final void setResponseBuffers(Buffers responseBuffers) | |
268 { | 272 { |
269 _buffers.setResponseBuffers(responseBuffers); | 273 _buffers.setResponseBuffers(responseBuffers); |
270 } | 274 } |
271 | 275 |
272 public Buffers getRequestBuffers() | 276 @Override |
277 public final Buffers getRequestBuffers() | |
273 { | 278 { |
274 return _buffers.getRequestBuffers(); | 279 return _buffers.getRequestBuffers(); |
275 } | 280 } |
276 | 281 |
277 public Buffers getResponseBuffers() | 282 @Override |
283 public final Buffers getResponseBuffers() | |
278 { | 284 { |
279 return _buffers.getResponseBuffers(); | 285 return _buffers.getResponseBuffers(); |
280 } | 286 } |
281 | 287 |
282 public int getMaxBuffers() | 288 @Override |
289 public final int getMaxBuffers() | |
283 { | 290 { |
284 return _buffers.getMaxBuffers(); | 291 return _buffers.getMaxBuffers(); |
285 } | 292 } |
286 | 293 |
287 @Override | 294 @Override |
292 getHost()==null?"0.0.0.0":getHost(), | 299 getHost()==null?"0.0.0.0":getHost(), |
293 port); | 300 port); |
294 } | 301 } |
295 | 302 |
296 | 303 |
304 @Override | |
297 public void run() | 305 public void run() |
298 { | 306 { |
299 Thread current = Thread.currentThread(); | 307 Thread current = Thread.currentThread(); |
300 String name = current.getName(); | 308 String name = current.getName(); |
301 current.setName(name + " Acceptor" + " " + Connector.this); | 309 current.setName(name + " Acceptor" + " " + Connector.this); |
331 { | 339 { |
332 current.setName(name); | 340 current.setName(name); |
333 } | 341 } |
334 } | 342 } |
335 | 343 |
336 public String getName() | 344 public final String getName() |
337 { | 345 { |
338 if (_name == null) | 346 if (_name == null) |
339 _name = (getHost() == null?"0.0.0.0":getHost()) + ":" + port; | 347 _name = (getHost() == null?"0.0.0.0":getHost()) + ":" + port; |
340 return _name; | 348 return _name; |
341 } | 349 } |
342 | 350 |
343 public final boolean isLowResources() | |
344 { | |
345 return server.isLowOnThreads(); | |
346 } | |
347 | |
348 | 351 |
349 // from AbstractNIOConnector | 352 // from AbstractNIOConnector |
350 | 353 |
351 /* ------------------------------------------------------------------------------- */ | 354 public final boolean getUseDirectBuffers() |
352 public boolean getUseDirectBuffers() | |
353 { | 355 { |
354 return getRequestBufferType()==Type.DIRECT; | 356 return getRequestBufferType()==Type.DIRECT; |
355 } | 357 } |
356 | 358 |
357 /* ------------------------------------------------------------------------------- */ | 359 /* ------------------------------------------------------------------------------- */ |
358 /** | 360 /** |
359 * @param direct If True (the default), the connector can use NIO direct buffers. | 361 * @param direct If True (the default), the connector can use NIO direct buffers. |
360 * Some JVMs have memory management issues (bugs) with direct buffers. | 362 * Some JVMs have memory management issues (bugs) with direct buffers. |
361 */ | 363 */ |
362 public void setUseDirectBuffers(boolean direct) | 364 public final void setUseDirectBuffers(boolean direct) |
363 { | 365 { |
364 _buffers.setRequestBufferType(direct?Type.DIRECT:Type.INDIRECT); | 366 _buffers.setRequestBufferType(direct?Type.DIRECT:Type.INDIRECT); |
365 _buffers.setResponseBufferType(direct?Type.DIRECT:Type.INDIRECT); | 367 _buffers.setResponseBufferType(direct?Type.DIRECT:Type.INDIRECT); |
366 } | 368 } |
367 | 369 |
368 | |
369 // from child classes | |
370 | |
371 } | 370 } |