From 6f9eb2cd34de593710fe1a0535575e96ffe45367 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Wed, 3 Jun 2015 11:31:47 +0200 Subject: [PATCH] Update javadocs to highlight that derived buffers will not increment the reference count. Motivation: We not explain the derived buffers will not retain the parent buffer. Modifications: Add docs. Result: Correctly document behaviour --- .../src/main/java/io/netty/buffer/ByteBuf.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/buffer/src/main/java/io/netty/buffer/ByteBuf.java b/buffer/src/main/java/io/netty/buffer/ByteBuf.java index 30d71ea689..e2818c9a27 100644 --- a/buffer/src/main/java/io/netty/buffer/ByteBuf.java +++ b/buffer/src/main/java/io/netty/buffer/ByteBuf.java @@ -201,6 +201,9 @@ import java.nio.charset.UnsupportedCharsetException; *

* In case a completely fresh copy of an existing buffer is required, please * call {@link #copy()} method instead. + *

+ * Also be aware that obtaining derived buffers will NOT call {@link #retain()} and so the + * reference count will NOT be increased. * *

Conversion to existing JDK types

* @@ -1191,6 +1194,9 @@ public abstract class ByteBuf implements ReferenceCounted, Comparable { * Returns a new slice of this buffer's sub-region starting at the current * {@code readerIndex} and increases the {@code readerIndex} by the size * of the new slice (= {@code length}). + *

+ * Also be aware that this method will NOT call {@link #retain()} and so the + * reference count will NOT be increased. * * @param length the size of the new slice * @@ -1661,6 +1667,9 @@ public abstract class ByteBuf implements ReferenceCounted, Comparable { * identical to {@code buf.slice(buf.readerIndex(), buf.readableBytes())}. * This method does not modify {@code readerIndex} or {@code writerIndex} of * this buffer. + *

+ * Also be aware that this method will NOT call {@link #retain()} and so the + * reference count will NOT be increased. */ public abstract ByteBuf slice(); @@ -1670,6 +1679,9 @@ public abstract class ByteBuf implements ReferenceCounted, Comparable { * they maintain separate indexes and marks. * This method does not modify {@code readerIndex} or {@code writerIndex} of * this buffer. + *

+ * Also be aware that this method will NOT call {@link #retain()} and so the + * reference count will NOT be increased. */ public abstract ByteBuf slice(int index, int length); @@ -1680,7 +1692,9 @@ public abstract class ByteBuf implements ReferenceCounted, Comparable { * This method is identical to {@code buf.slice(0, buf.capacity())}. * This method does not modify {@code readerIndex} or {@code writerIndex} of * this buffer. - * The reader and writer marks will not be duplicated. + *

+ * The reader and writer marks will not be duplicated. Also be aware that this method will + * NOT call {@link #retain()} and so the reference count will NOT be increased. */ public abstract ByteBuf duplicate();