Use the ByteBufAllocator when possible
This commit is contained in:
parent
0393ffbfb2
commit
3140282ae3
@ -16,7 +16,6 @@
|
|||||||
package io.netty.handler.codec;
|
package io.netty.handler.codec;
|
||||||
|
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.buffer.Unpooled;
|
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.handler.codec.serialization.ObjectDecoder;
|
import io.netty.handler.codec.serialization.ObjectDecoder;
|
||||||
|
|
||||||
@ -423,7 +422,7 @@ public class LengthFieldBasedFrameDecoder extends ByteToMessageDecoder {
|
|||||||
// extract frame
|
// extract frame
|
||||||
int readerIndex = in.readerIndex();
|
int readerIndex = in.readerIndex();
|
||||||
int actualFrameLength = frameLengthInt - initialBytesToStrip;
|
int actualFrameLength = frameLengthInt - initialBytesToStrip;
|
||||||
ByteBuf frame = extractFrame(in, readerIndex, actualFrameLength);
|
ByteBuf frame = extractFrame(ctx, in, readerIndex, actualFrameLength);
|
||||||
in.readerIndex(readerIndex + actualFrameLength);
|
in.readerIndex(readerIndex + actualFrameLength);
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
@ -483,8 +482,8 @@ public class LengthFieldBasedFrameDecoder extends ByteToMessageDecoder {
|
|||||||
* Refer to the source code of {@link ObjectDecoder} to see how this method
|
* Refer to the source code of {@link ObjectDecoder} to see how this method
|
||||||
* is overridden to avoid memory copy.
|
* is overridden to avoid memory copy.
|
||||||
*/
|
*/
|
||||||
protected ByteBuf extractFrame(ByteBuf buffer, int index, int length) {
|
protected ByteBuf extractFrame(ChannelHandlerContext ctx, ByteBuf buffer, int index, int length) {
|
||||||
ByteBuf frame = Unpooled.buffer(length);
|
ByteBuf frame = ctx.alloc().buffer(length);
|
||||||
frame.writeBytes(buffer, index, length);
|
frame.writeBytes(buffer, index, length);
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
@ -233,7 +233,7 @@ public class JdkZlibEncoder extends ZlibEncoder {
|
|||||||
return promise;
|
return promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
ByteBuf footer = Unpooled.buffer();
|
ByteBuf footer = ctx.alloc().buffer();
|
||||||
synchronized (deflater) {
|
synchronized (deflater) {
|
||||||
deflater.finish();
|
deflater.finish();
|
||||||
while (!deflater.finished()) {
|
while (!deflater.finished()) {
|
||||||
|
@ -81,7 +81,7 @@ public class MarshallingDecoder extends LengthFieldBasedFrameDecoder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ByteBuf extractFrame(ByteBuf buffer, int index, int length) {
|
protected ByteBuf extractFrame(ChannelHandlerContext ctx, ByteBuf buffer, int index, int length) {
|
||||||
return buffer.slice(index, length);
|
return buffer.slice(index, length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,7 @@ public class ObjectDecoder extends LengthFieldBasedFrameDecoder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ByteBuf extractFrame(ByteBuf buffer, int index, int length) {
|
protected ByteBuf extractFrame(ChannelHandlerContext ctx, ByteBuf buffer, int index, int length) {
|
||||||
return buffer.slice(index, length);
|
return buffer.slice(index, length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user