Home / Function/ testDiscardCorrectlyUpdatesLastAccessed() — netty Function Reference

testDiscardCorrectlyUpdatesLastAccessed() — netty Function Reference

Architecture documentation for the testDiscardCorrectlyUpdatesLastAccessed() function in AbstractCompositeByteBufTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  1fd6f2c2_d900_7607_4022_f8e1fdd8e39a["testDiscardCorrectlyUpdatesLastAccessed()"]
  47bc0a20_e243_89ff_132b_99ac6b23835f["AbstractCompositeByteBufTest"]
  1fd6f2c2_d900_7607_4022_f8e1fdd8e39a -->|defined in| 47bc0a20_e243_89ff_132b_99ac6b23835f
  e1b3b2ae_5a91_313e_f966_0ad599c5cb10["testDiscardSomeReadBytesCorrectlyUpdatesLastAccessed()"]
  e1b3b2ae_5a91_313e_f966_0ad599c5cb10 -->|calls| 1fd6f2c2_d900_7607_4022_f8e1fdd8e39a
  be0fce08_1762_c9bb_7755_4def67ef8067["testDiscardReadBytesCorrectlyUpdatesLastAccessed()"]
  be0fce08_1762_c9bb_7755_4def67ef8067 -->|calls| 1fd6f2c2_d900_7607_4022_f8e1fdd8e39a
  style 1fd6f2c2_d900_7607_4022_f8e1fdd8e39a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

buffer/src/test/java/io/netty/buffer/AbstractCompositeByteBufTest.java lines 1581–1636

    private void testDiscardCorrectlyUpdatesLastAccessed(boolean discardSome) {
        CompositeByteBuf cbuf = newCompositeBuffer();
        List<ByteBuf> buffers = new ArrayList<ByteBuf>(4);
        for (int i = 0; i < 4; i++) {
            ByteBuf buf = buffer().writeInt(i);
            cbuf.addComponent(true, buf);
            buffers.add(buf);
        }

        // Skip the first 2 bytes which means even if we call discard*ReadBytes() later we can no drop the first
        // component as it is still used.
        cbuf.skipBytes(2);
        if (discardSome) {
            cbuf.discardSomeReadBytes();
        } else {
            cbuf.discardReadBytes();
        }
        assertEquals(4, cbuf.numComponents());

        // Now skip 3 bytes which means we should be able to drop the first component on the next discard*ReadBytes()
        // call.
        cbuf.skipBytes(3);

        if (discardSome) {
            cbuf.discardSomeReadBytes();
        } else {
            cbuf.discardReadBytes();
        }
        assertEquals(3, cbuf.numComponents());
        // Now skip again 3 bytes which should bring our readerIndex == start of the 3 component.
        cbuf.skipBytes(3);

        // Read one int (4 bytes) which should bring our readerIndex == start of the 4 component.
        assertEquals(2, cbuf.readInt());
        if (discardSome) {
            cbuf.discardSomeReadBytes();
        } else {
            cbuf.discardReadBytes();
        }

        // Now all except the last component should have been dropped / released.
        assertEquals(1, cbuf.numComponents());
        assertEquals(3, cbuf.readInt());
        if (discardSome) {
            cbuf.discardSomeReadBytes();
        } else {
            cbuf.discardReadBytes();
        }
        assertEquals(0, cbuf.numComponents());

        // These should have been released already.
        for (ByteBuf buffer: buffers) {
            assertEquals(0, buffer.refCnt());
        }
        assertTrue(cbuf.release());
    }

Domain

Subdomains

Frequently Asked Questions

What does testDiscardCorrectlyUpdatesLastAccessed() do?
testDiscardCorrectlyUpdatesLastAccessed() is a function in the netty codebase, defined in buffer/src/test/java/io/netty/buffer/AbstractCompositeByteBufTest.java.
Where is testDiscardCorrectlyUpdatesLastAccessed() defined?
testDiscardCorrectlyUpdatesLastAccessed() is defined in buffer/src/test/java/io/netty/buffer/AbstractCompositeByteBufTest.java at line 1581.
What calls testDiscardCorrectlyUpdatesLastAccessed()?
testDiscardCorrectlyUpdatesLastAccessed() is called by 2 function(s): testDiscardReadBytesCorrectlyUpdatesLastAccessed, testDiscardSomeReadBytesCorrectlyUpdatesLastAccessed.

Analyze Your Own Codebase

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

Try Supermodel Free