diff options
author | Greg Wilkins | 2012-09-08 21:41:36 +0000 |
---|---|---|
committer | Greg Wilkins | 2012-09-08 21:42:03 +0000 |
commit | 2bb425d0b24208999d18050b598342fd8f16936c (patch) | |
tree | 793635505f8c164f9d10a1bd921d6b798dd0a97c | |
parent | 03a92fb966a61057e8b83e9f85aeee3c849494f5 (diff) | |
download | org.eclipse.jetty.project-2bb425d0b24208999d18050b598342fd8f16936c.tar.gz org.eclipse.jetty.project-2bb425d0b24208999d18050b598342fd8f16936c.tar.xz org.eclipse.jetty.project-2bb425d0b24208999d18050b598342fd8f16936c.zip |
jetty-9 improved buffer recycling
3 files changed, 12 insertions, 9 deletions
diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/MappedByteBufferPool.java b/jetty-io/src/main/java/org/eclipse/jetty/io/MappedByteBufferPool.java index ece77e5946..cb9a7f3385 100644 --- a/jetty-io/src/main/java/org/eclipse/jetty/io/MappedByteBufferPool.java +++ b/jetty-io/src/main/java/org/eclipse/jetty/io/MappedByteBufferPool.java @@ -64,6 +64,7 @@ public class MappedByteBufferPool implements ByteBufferPool return result; } + @Override public void release(ByteBuffer buffer) { if (buffer == null) @@ -82,7 +83,7 @@ public class MappedByteBufferPool implements ByteBufferPool byteBuffers = existing; } - buffer.clear(); + BufferUtil.clear(buffer); byteBuffers.offer(buffer); } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractConnector.java b/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractConnector.java index 1cdd2c0bd7..4afd4bdc0e 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractConnector.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractConnector.java @@ -27,9 +27,9 @@ import java.util.concurrent.Executor; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; +import org.eclipse.jetty.io.ArrayByteBufferPool; import org.eclipse.jetty.io.ByteBufferPool; import org.eclipse.jetty.io.Connection; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.FutureCallback; import org.eclipse.jetty.util.annotation.ManagedAttribute; import org.eclipse.jetty.util.annotation.ManagedObject; @@ -80,7 +80,7 @@ public abstract class AbstractConnector extends AggregateLifeCycle implements Co _server=server; _executor=executor!=null?executor:_server.getThreadPool(); _scheduler=scheduler!=null?scheduler:new TimerScheduler(); - _byteBufferPool = pool!=null?pool:new MappedByteBufferPool(); + _byteBufferPool = pool!=null?pool:new ArrayByteBufferPool(); _sslContextFactory = sslContextFactory; addBean(_server,false); @@ -123,6 +123,7 @@ public abstract class AbstractConnector extends AggregateLifeCycle implements Co return _byteBufferPool; } + @Override public SslContextFactory getSslContextFactory() { return _sslContextFactory; diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java index 11a5f25822..29683309eb 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java @@ -105,6 +105,13 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http public void reset() { + releaseRequestBuffer(); + if (_chunk!=null) + { + _bufferPool.release(_chunk); + _chunk=null; + } + // If we are still expecting if (_channel.isExpecting100Continue()) { @@ -123,12 +130,6 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http _generator.reset(); _channel.reset(); - releaseRequestBuffer(); - if (_chunk!=null) - { - _bufferPool.release(_chunk); - _chunk=null; - } } @Override |