testSliceReleaseOriginal() — netty Function Reference
Architecture documentation for the testSliceReleaseOriginal() function in AbstractByteBufTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 0bbf1550_6c20_d9f6_3c0b_1c8b48d90361["testSliceReleaseOriginal()"] 6540f2d1_cdad_6705_dd1d_9a24e2e53242["AbstractByteBufTest"] 0bbf1550_6c20_d9f6_3c0b_1c8b48d90361 -->|defined in| 6540f2d1_cdad_6705_dd1d_9a24e2e53242 6518ce77_5b8f_ca52_1f15_89b4c0a048b1["testRetainedSliceReleaseOriginal1()"] 6518ce77_5b8f_ca52_1f15_89b4c0a048b1 -->|calls| 0bbf1550_6c20_d9f6_3c0b_1c8b48d90361 5721bdcd_5e34_674c_4028_8877d7655ab7["testRetainedSliceReleaseOriginal2()"] 5721bdcd_5e34_674c_4028_8877d7655ab7 -->|calls| 0bbf1550_6c20_d9f6_3c0b_1c8b48d90361 761a7eb1_4a7e_6476_397c_f947faab78f1["testRetainedSliceReleaseOriginal3()"] 761a7eb1_4a7e_6476_397c_f947faab78f1 -->|calls| 0bbf1550_6c20_d9f6_3c0b_1c8b48d90361 1d01e659_0c20_b0be_7153_893aeda26fca["testRetainedSliceReleaseOriginal4()"] 1d01e659_0c20_b0be_7153_893aeda26fca -->|calls| 0bbf1550_6c20_d9f6_3c0b_1c8b48d90361 style 0bbf1550_6c20_d9f6_3c0b_1c8b48d90361 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
buffer/src/test/java/io/netty/buffer/AbstractByteBufTest.java lines 5498–5530
private void testSliceReleaseOriginal(boolean retainedSlice1, boolean retainedSlice2) {
ByteBuf buf = newBuffer(8).resetWriterIndex();
ByteBuf expected1 = newBuffer(3).resetWriterIndex();
ByteBuf expected2 = newBuffer(2).resetWriterIndex();
buf.writeBytes(new byte[] {1, 2, 3, 4, 5, 6, 7, 8});
expected1.writeBytes(new byte[] {6, 7, 8});
expected2.writeBytes(new byte[] {7, 8});
ByteBuf slice1 = retainedSlice1 ? buf.retainedSlice(buf.readerIndex() + 5, 3)
: buf.slice(buf.readerIndex() + 5, 3).retain();
assertEquals(0, slice1.compareTo(expected1));
// Simulate a handler that releases the original buffer, and propagates a slice.
buf.release();
ByteBuf slice2 = retainedSlice2 ? slice1.retainedSlice(slice1.readerIndex() + 1, 2)
: slice1.slice(slice1.readerIndex() + 1, 2).retain();
assertEquals(0, slice2.compareTo(expected2));
// Cleanup the expected buffers used for testing.
assertTrue(expected1.release());
assertTrue(expected2.release());
// The handler created a slice of the slice and is now done with it.
slice2.release();
// The handler is now done with the original slice
assertTrue(slice1.release());
// Reference counting may be shared, or may be independently tracked, but at this point all buffers should
// be deallocated and have a reference count of 0.
assertEquals(0, buf.refCnt());
assertEquals(0, slice1.refCnt());
assertEquals(0, slice2.refCnt());
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does testSliceReleaseOriginal() do?
testSliceReleaseOriginal() is a function in the netty codebase, defined in buffer/src/test/java/io/netty/buffer/AbstractByteBufTest.java.
Where is testSliceReleaseOriginal() defined?
testSliceReleaseOriginal() is defined in buffer/src/test/java/io/netty/buffer/AbstractByteBufTest.java at line 5498.
What calls testSliceReleaseOriginal()?
testSliceReleaseOriginal() is called by 4 function(s): testRetainedSliceReleaseOriginal1, testRetainedSliceReleaseOriginal2, testRetainedSliceReleaseOriginal3, testRetainedSliceReleaseOriginal4.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free