From 98531313de0332521b571580ebb8ad0b18939fe9 Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Thu, 27 Jun 2013 17:36:22 +0900 Subject: [PATCH] Optimize derived buffers' forEachByte(...) implementation - Related: #1378 --- buffer/src/main/java/io/netty/buffer/DuplicatedByteBuf.java | 5 +++++ buffer/src/main/java/io/netty/buffer/ReadOnlyByteBuf.java | 5 +++++ buffer/src/main/java/io/netty/buffer/SlicedByteBuf.java | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/buffer/src/main/java/io/netty/buffer/DuplicatedByteBuf.java b/buffer/src/main/java/io/netty/buffer/DuplicatedByteBuf.java index 5727c58376..320c62192d 100644 --- a/buffer/src/main/java/io/netty/buffer/DuplicatedByteBuf.java +++ b/buffer/src/main/java/io/netty/buffer/DuplicatedByteBuf.java @@ -291,5 +291,10 @@ public class DuplicatedByteBuf extends AbstractDerivedByteBuf { public ByteBuffer internalNioBuffer(int index, int length) { return buffer.internalNioBuffer(index, length); } + + @Override + public int forEachByte(int fromIndex, int toIndex, ByteBufProcessor processor) { + return buffer.forEachByte(fromIndex, toIndex, processor); + } } diff --git a/buffer/src/main/java/io/netty/buffer/ReadOnlyByteBuf.java b/buffer/src/main/java/io/netty/buffer/ReadOnlyByteBuf.java index 2041a5484d..4479a74611 100644 --- a/buffer/src/main/java/io/netty/buffer/ReadOnlyByteBuf.java +++ b/buffer/src/main/java/io/netty/buffer/ReadOnlyByteBuf.java @@ -295,6 +295,11 @@ public class ReadOnlyByteBuf extends AbstractDerivedByteBuf { return buffer.internalNioBuffer(index, length); } + @Override + public int forEachByte(int fromIndex, int toIndex, ByteBufProcessor processor) { + return buffer.forEachByte(fromIndex, toIndex, processor); + } + @Override public int capacity() { return buffer.capacity(); diff --git a/buffer/src/main/java/io/netty/buffer/SlicedByteBuf.java b/buffer/src/main/java/io/netty/buffer/SlicedByteBuf.java index 81a0fecb7a..2ed4aa171c 100644 --- a/buffer/src/main/java/io/netty/buffer/SlicedByteBuf.java +++ b/buffer/src/main/java/io/netty/buffer/SlicedByteBuf.java @@ -273,4 +273,9 @@ public class SlicedByteBuf extends AbstractDerivedByteBuf { checkIndex(index, length); return buffer.internalNioBuffer(index + adjustment, length); } + + @Override + public int forEachByte(int fromIndex, int toIndex, ByteBufProcessor processor) { + return buffer.forEachByte(fromIndex + adjustment, toIndex + adjustment, processor); + } }