Make all methods of SslBufferPool public so a subclass can be placed in another package. See #336

This commit is contained in:
norman 2012-05-18 08:12:42 +02:00 committed by Trustin Lee
parent 1226cdacfb
commit 7007e2fbaf
2 changed files with 36 additions and 6 deletions

View File

@ -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;

View File

@ -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);
}
}