Home / Function/ testDuplicateReleaseOriginal() — netty Function Reference

testDuplicateReleaseOriginal() — netty Function Reference

Architecture documentation for the testDuplicateReleaseOriginal() function in AbstractByteBufTest.java from the netty codebase.

Function java Buffer Search called by 4

Entity Profile

Dependency Diagram

graph TD
  597da2bf_9ebe_2bbe_9289_a7848cd19502["testDuplicateReleaseOriginal()"]
  6540f2d1_cdad_6705_dd1d_9a24e2e53242["AbstractByteBufTest"]
  597da2bf_9ebe_2bbe_9289_a7848cd19502 -->|defined in| 6540f2d1_cdad_6705_dd1d_9a24e2e53242
  a3a4b702_52e8_b15f_5ec5_567b5252d18d["testRetainedDuplicateReleaseOriginal1()"]
  a3a4b702_52e8_b15f_5ec5_567b5252d18d -->|calls| 597da2bf_9ebe_2bbe_9289_a7848cd19502
  3d2c40aa_a555_f5fd_001e_4ea21c87fe6c["testRetainedDuplicateReleaseOriginal2()"]
  3d2c40aa_a555_f5fd_001e_4ea21c87fe6c -->|calls| 597da2bf_9ebe_2bbe_9289_a7848cd19502
  264d52a4_b2dd_9445_a246_87e88abdeb59["testRetainedDuplicateReleaseOriginal3()"]
  264d52a4_b2dd_9445_a246_87e88abdeb59 -->|calls| 597da2bf_9ebe_2bbe_9289_a7848cd19502
  4c792b15_173d_d514_a49f_79af9ad56473["testRetainedDuplicateReleaseOriginal4()"]
  4c792b15_173d_d514_a49f_79af9ad56473 -->|calls| 597da2bf_9ebe_2bbe_9289_a7848cd19502
  style 597da2bf_9ebe_2bbe_9289_a7848cd19502 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

buffer/src/test/java/io/netty/buffer/AbstractByteBufTest.java lines 5602–5631

    private void testDuplicateReleaseOriginal(boolean retainedDuplicate1, boolean retainedDuplicate2) {
        ByteBuf buf = newBuffer(8).resetWriterIndex();
        ByteBuf expected = newBuffer(8).resetWriterIndex();
        buf.writeBytes(new byte[] {1, 2, 3, 4, 5, 6, 7, 8});
        expected.writeBytes(buf, buf.readerIndex(), buf.readableBytes());
        ByteBuf dup1 = retainedDuplicate1 ? buf.retainedDuplicate()
                                          : buf.duplicate().retain();
        assertEquals(0, dup1.compareTo(expected));
        // Simulate a handler that releases the original buffer, and propagates a slice.
        buf.release();

        ByteBuf dup2 = retainedDuplicate2 ? dup1.retainedDuplicate()
                                          : dup1.duplicate().retain();
        assertEquals(0, dup2.compareTo(expected));

        // Cleanup the expected buffers used for testing.
        assertTrue(expected.release());

        // The handler created a slice of the slice and is now done with it.
        dup2.release();

        // The handler is now done with the original slice
        assertTrue(dup1.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, dup1.refCnt());
        assertEquals(0, dup2.refCnt());
    }

Domain

Subdomains

Frequently Asked Questions

What does testDuplicateReleaseOriginal() do?
testDuplicateReleaseOriginal() is a function in the netty codebase, defined in buffer/src/test/java/io/netty/buffer/AbstractByteBufTest.java.
Where is testDuplicateReleaseOriginal() defined?
testDuplicateReleaseOriginal() is defined in buffer/src/test/java/io/netty/buffer/AbstractByteBufTest.java at line 5602.
What calls testDuplicateReleaseOriginal()?
testDuplicateReleaseOriginal() is called by 4 function(s): testRetainedDuplicateReleaseOriginal1, testRetainedDuplicateReleaseOriginal2, testRetainedDuplicateReleaseOriginal3, testRetainedDuplicateReleaseOriginal4.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free