Mercurial Hosting > luan
changeset 1007:945568ee77ac
remove HttpBuffersImpl
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 23 Oct 2016 17:40:20 -0600 |
parents | 58a9c4a42292 |
children | b664624a4423 |
files | src/org/eclipse/jetty/http/HttpBuffersImpl.java src/org/eclipse/jetty/server/AbstractHttpConnection.java src/org/eclipse/jetty/server/Connector.java src/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java |
diffstat | 4 files changed, 47 insertions(+), 141 deletions(-) [+] |
line wrap: on
line diff
--- a/src/org/eclipse/jetty/http/HttpBuffersImpl.java Sun Oct 23 17:21:20 2016 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.http; - -import org.eclipse.jetty.io.Buffers; -import org.eclipse.jetty.io.BuffersFactory; -import org.eclipse.jetty.util.component.AbstractLifeCycle; - -/* ------------------------------------------------------------ */ -/** Abstract Buffer pool. - * simple unbounded pool of buffers for header, request and response sizes. - * - */ -public final class HttpBuffersImpl extends AbstractLifeCycle -{ - private int _requestBufferSize=16*1024; - private int _requestHeaderSize=6*1024; - private int _responseBufferSize=32*1024; - private int _responseHeaderSize=6*1024; - private final int _maxBuffers=1024; - - private Buffers.Type _requestBufferType=Buffers.Type.DIRECT; - private Buffers.Type _responseBufferType=Buffers.Type.DIRECT; - - private Buffers _requestBuffers; - private Buffers _responseBuffers; - - - public int getRequestBufferSize() - { - return _requestBufferSize; - } - - public void setRequestBufferSize(int requestBufferSize) - { - _requestBufferSize = requestBufferSize; - } - - public int getRequestHeaderSize() - { - return _requestHeaderSize; - } - - public void setRequestHeaderSize(int requestHeaderSize) - { - _requestHeaderSize = requestHeaderSize; - } - - public Buffers.Type getRequestBufferType() - { - return _requestBufferType; - } - - public void setRequestBufferType(Buffers.Type requestBufferType) - { - _requestBufferType = requestBufferType; - } - - public void setResponseBufferType(Buffers.Type responseBufferType) - { - _responseBufferType = responseBufferType; - } - - @Override - protected void doStart() - throws Exception - { - _requestBuffers = BuffersFactory.newBuffers(Buffers.Type.INDIRECT,_requestHeaderSize,_requestBufferType,_requestBufferSize,_maxBuffers); - _responseBuffers = BuffersFactory.newBuffers(Buffers.Type.INDIRECT,_responseHeaderSize,_responseBufferType,_responseBufferSize,_maxBuffers); - super.doStart(); - } - - @Override - protected void doStop() - throws Exception - { - _requestBuffers=null; - _responseBuffers=null; - } - - public Buffers getRequestBuffers() - { - return _requestBuffers; - } - - - public Buffers getResponseBuffers() - { - return _responseBuffers; - } - - @Override - public String toString() - { - return _requestBuffers+"/"+_responseBuffers; - } -}
--- a/src/org/eclipse/jetty/server/AbstractHttpConnection.java Sun Oct 23 17:21:20 2016 -0600 +++ b/src/org/eclipse/jetty/server/AbstractHttpConnection.java Sun Oct 23 17:40:20 2016 -0600 @@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.http.EncodedHttpURI; -import org.eclipse.jetty.http.HttpBuffersImpl; import org.eclipse.jetty.http.HttpException; import org.eclipse.jetty.http.HttpFields; import org.eclipse.jetty.http.HttpGenerator; @@ -122,11 +121,10 @@ { super(endpoint); _connector = connector; - HttpBuffersImpl ab = _connector._buffers; - _parser = new HttpParser(ab.getRequestBuffers(), endpoint, new RequestHandler()); + _parser = new HttpParser(_connector.getRequestBuffers(), endpoint, new RequestHandler()); _request = new Request(this); _response = new Response(this); - _generator = new HttpGenerator(ab.getResponseBuffers(), endpoint); + _generator = new HttpGenerator(_connector.getResponseBuffers(), endpoint); _server = connector.server; }
--- a/src/org/eclipse/jetty/server/Connector.java Sun Oct 23 17:21:20 2016 -0600 +++ b/src/org/eclipse/jetty/server/Connector.java Sun Oct 23 17:40:20 2016 -0600 @@ -28,12 +28,8 @@ import javax.servlet.ServletRequest; -import org.eclipse.jetty.http.HttpBuffersImpl; -import org.eclipse.jetty.http.HttpFields; -import org.eclipse.jetty.http.HttpHeaders; -import org.eclipse.jetty.http.HttpSchemes; import org.eclipse.jetty.io.Buffers; -import org.eclipse.jetty.io.Buffers.Type; +import org.eclipse.jetty.io.BuffersFactory; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.EofException; import org.eclipse.jetty.util.component.AggregateLifeCycle; @@ -65,8 +61,6 @@ protected final int _maxIdleTime = 200000; protected int _soLingerTime = -1; - protected final HttpBuffersImpl _buffers = new HttpBuffersImpl(); - // from child classes protected transient ServerSocketChannel _acceptChannel; @@ -74,7 +68,6 @@ this.server = server; this.port = port; server.connectors.add(this); - addBean(_buffers); } public final void setHost(String host) @@ -139,6 +132,8 @@ if (server.isLowOnThreads()) LOG.warn("insufficient threads configured for {}",this); + startBuffers(); + LOG.info("Started {}",this); } @@ -156,6 +151,8 @@ LOG.warn("",e); } + stopBuffers(); + super.doStop(); } @@ -236,22 +233,44 @@ } - // from AbstractNIOConnector + + // from HttpBuffersImpl - public final boolean getUseDirectBuffers() + protected int _requestBufferSize = 16*1024; + protected int _requestHeaderSize = 6*1024; + private final int _responseBufferSize = 32*1024; + private final int _responseHeaderSize = 6*1024; + private final int _maxBuffers = 1024; + + protected Buffers.Type _requestBufferType = Buffers.Type.DIRECT; + protected Buffers.Type _responseBufferType = Buffers.Type.DIRECT; + + private Buffers _requestBuffers; + private Buffers _responseBuffers; + + private void startBuffers() + throws Exception { - return _buffers.getRequestBufferType()==Type.DIRECT; + _requestBuffers = BuffersFactory.newBuffers(Buffers.Type.INDIRECT,_requestHeaderSize,_requestBufferType,_requestBufferSize,_maxBuffers); + _responseBuffers = BuffersFactory.newBuffers(Buffers.Type.INDIRECT,_responseHeaderSize,_responseBufferType,_responseBufferSize,_maxBuffers); + super.doStart(); + } + + private void stopBuffers() + throws Exception + { + _requestBuffers = null; + _responseBuffers = null; } - /* ------------------------------------------------------------------------------- */ - /** - * @param direct If True (the default), the connector can use NIO direct buffers. - * Some JVMs have memory management issues (bugs) with direct buffers. - */ - public final void setUseDirectBuffers(boolean direct) + public final Buffers getRequestBuffers() { - _buffers.setRequestBufferType(direct?Type.DIRECT:Type.INDIRECT); - _buffers.setResponseBufferType(direct?Type.DIRECT:Type.INDIRECT); + return _requestBuffers; + } + + public final Buffers getResponseBuffers() + { + return _responseBuffers; } }
--- a/src/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java Sun Oct 23 17:21:20 2016 -0600 +++ b/src/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java Sun Oct 23 17:40:20 2016 -0600 @@ -71,7 +71,9 @@ super(server,port); _sslContextFactory = sslContextFactory; addBean(_sslContextFactory); - setUseDirectBuffers(false); +// setUseDirectBuffers(false); + _requestBufferType = Buffers.Type.INDIRECT; + _responseBufferType = Buffers.Type.INDIRECT; setSoLingerTime(30000); } @@ -187,10 +189,10 @@ SSLSession sslSession = sslEngine.getSession(); - if (_buffers.getRequestHeaderSize()<sslSession.getApplicationBufferSize()) - _buffers.setRequestHeaderSize(sslSession.getApplicationBufferSize()); - if (_buffers.getRequestBufferSize()<sslSession.getApplicationBufferSize()) - _buffers.setRequestBufferSize(sslSession.getApplicationBufferSize()); + if (_requestHeaderSize < sslSession.getApplicationBufferSize()) + _requestHeaderSize = sslSession.getApplicationBufferSize(); + if (_requestBufferSize < sslSession.getApplicationBufferSize()) + _requestBufferSize = sslSession.getApplicationBufferSize(); super.doStart(); }