From 88d60c15c7f44c924dc0afd88c6654086b4ad14c Mon Sep 17 00:00:00 2001 From: norman Date: Fri, 18 May 2012 08:12:42 +0200 Subject: [PATCH] Make all methods of SslBufferPool public so a subclass can be placed in another package. See #336 --- .../io/netty/handler/ssl/SslBufferPool.java | 30 +++++++++++++++++++ .../java/io/netty/handler/ssl/SslHandler.java | 12 ++++---- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/handler/src/main/java/io/netty/handler/ssl/SslBufferPool.java b/handler/src/main/java/io/netty/handler/ssl/SslBufferPool.java index aef2694508..164513a968 100644 --- a/handler/src/main/java/io/netty/handler/ssl/SslBufferPool.java +++ b/handler/src/main/java/io/netty/handler/ssl/SslBufferPool.java @@ -89,6 +89,19 @@ public class SslBufferPool { return index * MAX_PACKET_SIZE; } + /** + * Acquire a new {@link ByteBuffer} out of the {@link SslBufferPool} + * + */ + public ByteBuffer acquireBuffer() { + return acquire(); + } + + /** + * Will get removed. Please use {@link #acquireBuffer()} + * + */ + @Deprecated synchronized ByteBuffer acquire() { if (index == 0) { return ByteBuffer.allocate(MAX_PACKET_SIZE); @@ -96,7 +109,24 @@ public class SslBufferPool { return (ByteBuffer) pool[-- index].clear(); } } + + /** + * Release a previous acquired {@link ByteBuffer} + * + * @param buffer + */ + public void releaseBuffer(ByteBuffer buffer) { + release(buffer); + } + + /** + * Will get removed. Please use {@link #releaseBuffer(ByteBuffer)} + * + * @deprecated + * + */ + @Deprecated synchronized void release(ByteBuffer buffer) { if (index < maxBufferCount) { pool[index ++] = buffer; diff --git a/handler/src/main/java/io/netty/handler/ssl/SslHandler.java b/handler/src/main/java/io/netty/handler/ssl/SslHandler.java index 9f1b9a3a71..3247d614a4 100644 --- a/handler/src/main/java/io/netty/handler/ssl/SslHandler.java +++ b/handler/src/main/java/io/netty/handler/ssl/SslHandler.java @@ -670,7 +670,7 @@ public class SslHandler extends FrameDecoder ChannelFuture future = null; ChannelBuffer msg; - ByteBuffer outNetBuf = bufferPool.acquire(); + ByteBuffer outNetBuf = bufferPool.acquireBuffer(); boolean success = true; boolean offered = false; boolean needsUnwrap = false; @@ -776,7 +776,7 @@ public class SslHandler extends FrameDecoder setHandshakeFailure(channel, e); throw e; } finally { - bufferPool.release(outNetBuf); + bufferPool.releaseBuffer(outNetBuf); if (offered) { flushPendingEncryptedWrites(context); @@ -844,7 +844,7 @@ public class SslHandler extends FrameDecoder private ChannelFuture wrapNonAppData(ChannelHandlerContext ctx, Channel channel) throws SSLException { ChannelFuture future = null; - ByteBuffer outNetBuf = bufferPool.acquire(); + ByteBuffer outNetBuf = bufferPool.acquireBuffer(); SSLEngineResult result; try { @@ -915,7 +915,7 @@ public class SslHandler extends FrameDecoder setHandshakeFailure(channel, e); throw e; } finally { - bufferPool.release(outNetBuf); + bufferPool.releaseBuffer(outNetBuf); } if (future == null) { @@ -928,7 +928,7 @@ public class SslHandler extends FrameDecoder private ChannelBuffer unwrap( ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer, int offset, int length) throws SSLException { ByteBuffer inNetBuf = buffer.toByteBuffer(offset, length); - ByteBuffer outAppBuf = bufferPool.acquire(); + ByteBuffer outAppBuf = bufferPool.acquireBuffer(); try { boolean needsWrap = false; @@ -1019,7 +1019,7 @@ public class SslHandler extends FrameDecoder setHandshakeFailure(channel, e); throw e; } finally { - bufferPool.release(outAppBuf); + bufferPool.releaseBuffer(outAppBuf); } }