Skip to content

Instantly share code, notes, and snippets.

@kevinherron
Created May 20, 2016 16:46
Show Gist options
  • Save kevinherron/1032e237a198307d8074779929cbc4c6 to your computer and use it in GitHub Desktop.
Save kevinherron/1032e237a198307d8074779929cbc4c6 to your computer and use it in GitHub Desktop.
CompositeByteBufTest.java
import java.nio.ByteOrder;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.PooledByteBufAllocator;
import io.netty.util.ReferenceCountUtil;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
public class CompositeByteBufTest {
@Test
public void testRetainRelease() {
ByteBuf buffer = PooledByteBufAllocator.DEFAULT.buffer();
ByteBuf s1 = buffer.slice().retain();
ByteBuf s2 = buffer.slice().retain();
ByteBuf s3 = buffer.slice().retain();
ByteBuf s4 = buffer.slice().retain();
ByteBuf composite = PooledByteBufAllocator.DEFAULT.compositeBuffer()
.addComponent(s1)
.addComponents(s2, s3, s4)
.order(ByteOrder.LITTLE_ENDIAN);
assertEquals(composite.refCnt(), 1);
assertEquals(buffer.refCnt(), 5);
ReferenceCountUtil.release(composite);
ReferenceCountUtil.release(buffer);
System.out.println("composite=" + composite.refCnt());
System.out.println("buffer=" + buffer.refCnt());
System.out.println("s1=" + s1.refCnt());
System.out.println("s2=" + s2.refCnt());
System.out.println("s3=" + s3.refCnt());
System.out.println("s4=" + s4.refCnt());
assertEquals(composite.refCnt(), 0);
assertEquals(buffer.refCnt(), 0);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment