From 3140282ae378214b9278325d89091df7557ba81a Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Sun, 14 Jul 2013 23:34:36 +0200 Subject: [PATCH] Use the ByteBufAllocator when possible --- .../netty/handler/codec/LengthFieldBasedFrameDecoder.java | 7 +++---- .../io/netty/handler/codec/compression/JdkZlibEncoder.java | 2 +- .../handler/codec/marshalling/MarshallingDecoder.java | 2 +- .../netty/handler/codec/serialization/ObjectDecoder.java | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/codec/src/main/java/io/netty/handler/codec/LengthFieldBasedFrameDecoder.java b/codec/src/main/java/io/netty/handler/codec/LengthFieldBasedFrameDecoder.java index f38409803b..ce90865e4e 100644 --- a/codec/src/main/java/io/netty/handler/codec/LengthFieldBasedFrameDecoder.java +++ b/codec/src/main/java/io/netty/handler/codec/LengthFieldBasedFrameDecoder.java @@ -16,7 +16,6 @@ package io.netty.handler.codec; import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.serialization.ObjectDecoder; @@ -423,7 +422,7 @@ public class LengthFieldBasedFrameDecoder extends ByteToMessageDecoder { // extract frame int readerIndex = in.readerIndex(); int actualFrameLength = frameLengthInt - initialBytesToStrip; - ByteBuf frame = extractFrame(in, readerIndex, actualFrameLength); + ByteBuf frame = extractFrame(ctx, in, readerIndex, actualFrameLength); in.readerIndex(readerIndex + actualFrameLength); return frame; } @@ -483,8 +482,8 @@ public class LengthFieldBasedFrameDecoder extends ByteToMessageDecoder { * Refer to the source code of {@link ObjectDecoder} to see how this method * is overridden to avoid memory copy. */ - protected ByteBuf extractFrame(ByteBuf buffer, int index, int length) { - ByteBuf frame = Unpooled.buffer(length); + protected ByteBuf extractFrame(ChannelHandlerContext ctx, ByteBuf buffer, int index, int length) { + ByteBuf frame = ctx.alloc().buffer(length); frame.writeBytes(buffer, index, length); return frame; } diff --git a/codec/src/main/java/io/netty/handler/codec/compression/JdkZlibEncoder.java b/codec/src/main/java/io/netty/handler/codec/compression/JdkZlibEncoder.java index 4e4dce040e..36b26b038d 100644 --- a/codec/src/main/java/io/netty/handler/codec/compression/JdkZlibEncoder.java +++ b/codec/src/main/java/io/netty/handler/codec/compression/JdkZlibEncoder.java @@ -233,7 +233,7 @@ public class JdkZlibEncoder extends ZlibEncoder { return promise; } - ByteBuf footer = Unpooled.buffer(); + ByteBuf footer = ctx.alloc().buffer(); synchronized (deflater) { deflater.finish(); while (!deflater.finished()) { diff --git a/codec/src/main/java/io/netty/handler/codec/marshalling/MarshallingDecoder.java b/codec/src/main/java/io/netty/handler/codec/marshalling/MarshallingDecoder.java index a86e56b35b..9eaf88f0b1 100644 --- a/codec/src/main/java/io/netty/handler/codec/marshalling/MarshallingDecoder.java +++ b/codec/src/main/java/io/netty/handler/codec/marshalling/MarshallingDecoder.java @@ -81,7 +81,7 @@ public class MarshallingDecoder extends LengthFieldBasedFrameDecoder { } @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); } } diff --git a/codec/src/main/java/io/netty/handler/codec/serialization/ObjectDecoder.java b/codec/src/main/java/io/netty/handler/codec/serialization/ObjectDecoder.java index d762ff3180..f287cfbe86 100644 --- a/codec/src/main/java/io/netty/handler/codec/serialization/ObjectDecoder.java +++ b/codec/src/main/java/io/netty/handler/codec/serialization/ObjectDecoder.java @@ -75,7 +75,7 @@ public class ObjectDecoder extends LengthFieldBasedFrameDecoder { } @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); } }