From 7007e2fbaf97d90cd4d70bf61967e357a243e4be 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 69f135b942..f719e20346 100644 --- a/handler/src/main/java/io/netty/handler/ssl/SslHandler.java +++ b/handler/src/main/java/io/netty/handler/ssl/SslHandler.java @@ -660,7 +660,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; @@ -761,7 +761,7 @@ public class SslHandler extends FrameDecoder setHandshakeFailure(channel, e); throw e; } finally { - bufferPool.release(outNetBuf); + bufferPool.releaseBuffer(outNetBuf); if (offered) { flushPendingEncryptedWrites(context); @@ -829,7 +829,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 { @@ -905,7 +905,7 @@ public class SslHandler extends FrameDecoder setHandshakeFailure(channel, e); throw e; } finally { - bufferPool.release(outNetBuf); + bufferPool.releaseBuffer(outNetBuf); } if (future == null) { @@ -918,7 +918,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; @@ -1008,7 +1008,7 @@ public class SslHandler extends FrameDecoder setHandshakeFailure(channel, e); throw e; } finally { - bufferPool.release(outAppBuf); + bufferPool.releaseBuffer(outAppBuf); } }