Mercurial Hosting > luan
comparison src/org/eclipse/jetty/server/nio/SelectChannelConnector.java @ 887:df84a1741687
make Connector reference to server explicit
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 04 Oct 2016 23:59:56 -0600 |
parents | 6b210bb66c63 |
children | 1aa58272794f |
comparison
equal
deleted
inserted
replaced
886:0d876a03ab0b | 887:df84a1741687 |
---|---|
34 import org.eclipse.jetty.io.nio.SelectChannelEndPoint; | 34 import org.eclipse.jetty.io.nio.SelectChannelEndPoint; |
35 import org.eclipse.jetty.io.nio.SelectorManager; | 35 import org.eclipse.jetty.io.nio.SelectorManager; |
36 import org.eclipse.jetty.io.nio.SelectorManager.SelectSet; | 36 import org.eclipse.jetty.io.nio.SelectorManager.SelectSet; |
37 import org.eclipse.jetty.server.AsyncHttpConnection; | 37 import org.eclipse.jetty.server.AsyncHttpConnection; |
38 import org.eclipse.jetty.server.Request; | 38 import org.eclipse.jetty.server.Request; |
39 import org.eclipse.jetty.server.Server; | |
39 | 40 |
40 /* ------------------------------------------------------------------------------- */ | 41 /* ------------------------------------------------------------------------------- */ |
41 /** | 42 /** |
42 * Selecting NIO connector. | 43 * Selecting NIO connector. |
43 * <p> | 44 * <p> |
75 /* ------------------------------------------------------------------------------- */ | 76 /* ------------------------------------------------------------------------------- */ |
76 /** | 77 /** |
77 * Constructor. | 78 * Constructor. |
78 * | 79 * |
79 */ | 80 */ |
80 public SelectChannelConnector() | 81 public SelectChannelConnector(Server server,int port) |
81 { | 82 { |
83 super(server,port); | |
82 _manager.setMaxIdleTime(getMaxIdleTime()); | 84 _manager.setMaxIdleTime(getMaxIdleTime()); |
83 addBean(_manager,true); | 85 addBean(_manager,true); |
84 setAcceptors(Math.max(1,(Runtime.getRuntime().availableProcessors()+3)/4)); | 86 setAcceptors(Math.max(1,(Runtime.getRuntime().availableProcessors()+3)/4)); |
85 } | 87 } |
86 | 88 |
171 // Set to blocking mode | 173 // Set to blocking mode |
172 _acceptChannel.configureBlocking(true); | 174 _acceptChannel.configureBlocking(true); |
173 | 175 |
174 // Bind the server socket to the local host and port | 176 // Bind the server socket to the local host and port |
175 _acceptChannel.socket().setReuseAddress(getReuseAddress()); | 177 _acceptChannel.socket().setReuseAddress(getReuseAddress()); |
176 InetSocketAddress addr = getHost()==null?new InetSocketAddress(getPort()):new InetSocketAddress(getHost(),getPort()); | 178 InetSocketAddress addr = getHost()==null?new InetSocketAddress(port):new InetSocketAddress(getHost(),port); |
177 _acceptChannel.socket().bind(addr,getAcceptQueueSize()); | 179 _acceptChannel.socket().bind(addr,getAcceptQueueSize()); |
178 | 180 |
179 _localPort=_acceptChannel.socket().getLocalPort(); | 181 _localPort=_acceptChannel.socket().getLocalPort(); |
180 if (_localPort<=0) | 182 if (_localPort<=0) |
181 throw new IOException("Server channel not bound"); | 183 throw new IOException("Server channel not bound"); |
270 } | 272 } |
271 | 273 |
272 /* ------------------------------------------------------------------------------- */ | 274 /* ------------------------------------------------------------------------------- */ |
273 protected AsyncConnection newConnection(SocketChannel channel,final AsyncEndPoint endpoint) | 275 protected AsyncConnection newConnection(SocketChannel channel,final AsyncEndPoint endpoint) |
274 { | 276 { |
275 return new AsyncHttpConnection(SelectChannelConnector.this,endpoint,getServer()); | 277 return new AsyncHttpConnection(SelectChannelConnector.this,endpoint,server); |
276 } | 278 } |
277 | 279 |
278 | 280 |
279 /* ------------------------------------------------------------ */ | 281 /* ------------------------------------------------------------ */ |
280 /* ------------------------------------------------------------ */ | 282 /* ------------------------------------------------------------ */ |
282 private final class ConnectorSelectorManager extends SelectorManager | 284 private final class ConnectorSelectorManager extends SelectorManager |
283 { | 285 { |
284 @Override | 286 @Override |
285 public void execute(Runnable task) | 287 public void execute(Runnable task) |
286 { | 288 { |
287 getThreadPool().execute(task); | 289 server.threadPool.execute(task); |
288 } | 290 } |
289 | 291 |
290 @Override | 292 @Override |
291 protected void endPointClosed(final SelectChannelEndPoint endpoint) | 293 protected void endPointClosed(final SelectChannelEndPoint endpoint) |
292 { | 294 { |