SslHander wrap conditional direct buffer allocation
Motivation: The SslHandler currently forces the use of a direct buffer for the input to the SSLEngine.wrap(..) operation. This allocation may not always be desired and should be conditionally done. Modifications: - Use the pre-existing wantsDirectBuffer variable as the condition to do the conversion. Result: - An allocation of a direct byte buffer and a copy of data is now not required for every SslHandler wrap operation.
This commit is contained in:
parent
7168aa4815
commit
41d9830e07
@ -176,7 +176,7 @@ public class SslHandler extends ByteToMessageDecoder {
|
||||
// BEGIN Platform-dependent flags
|
||||
|
||||
/**
|
||||
* {@code trus} if and only if {@link SSLEngine} expects a direct buffer.
|
||||
* {@code true} if and only if {@link SSLEngine} expects a direct buffer.
|
||||
*/
|
||||
private final boolean wantsDirectBuffer;
|
||||
/**
|
||||
@ -533,7 +533,7 @@ public class SslHandler extends ByteToMessageDecoder {
|
||||
ByteBuf newDirectIn = null;
|
||||
try {
|
||||
final ByteBuffer in0;
|
||||
if (in.isDirect()) {
|
||||
if (in.isDirect() || !wantsDirectBuffer) {
|
||||
in0 = in.nioBuffer();
|
||||
} else {
|
||||
int readableBytes = in.readableBytes();
|
||||
|
Loading…
Reference in New Issue
Block a user