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 {