Home / Function/ indexWrapAround() — netty Function Reference

indexWrapAround() — netty Function Reference

Architecture documentation for the indexWrapAround() function in QpackEncoderDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  158d5307_2479_2a29_560d_51623d8a8403["indexWrapAround()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0["QpackEncoderDecoderTest"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|defined in| a2f105b8_5272_f106_c6ff_e4604fde3ee0
  8b7d68af_ce51_4e48_b8d7_ce72fd007482["setup()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| 8b7d68af_ce51_4e48_b8d7_ce72fd007482
  774159a1_175e_8719_c4d3_d0b597c565f0["addEncodeHeader()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| 774159a1_175e_8719_c4d3_d0b597c565f0
  dbadf5dd_759e_9666_c044_b830bfb006e7["encode()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| dbadf5dd_759e_9666_c044_b830bfb006e7
  d1b98b2f_bbd4_27a4_6d86_baace932a319["verifyRequiredInsertCount()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| d1b98b2f_bbd4_27a4_6d86_baace932a319
  df3a5571_94fc_f51f_c432_e0490c53efd5["verifyKnownReceivedCount()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| df3a5571_94fc_f51f_c432_e0490c53efd5
  879f268a_79d6_4e84_4dcc_69e8fceb5059["decode()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| 879f268a_79d6_4e84_4dcc_69e8fceb5059
  91ce57eb_9029_d632_9669_556fcbee3f3d["verifyDecodedHeaders()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| 91ce57eb_9029_d632_9669_556fcbee3f3d
  8ffd2344_51e9_0e6a_5a0a_2cca38fa4edd["resetState()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| 8ffd2344_51e9_0e6a_5a0a_2cca38fa4edd
  b0e13fad_f554_d84c_38f4_40a57d570d8a["verifyDecodedHeader()"]
  158d5307_2479_2a29_560d_51623d8a8403 -->|calls| b0e13fad_f554_d84c_38f4_40a57d570d8a
  style 158d5307_2479_2a29_560d_51623d8a8403 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java lines 127–177

    @Test
    public void indexWrapAround() throws Exception {
        setup(128, 0); // maxEntries => 128/32 = 4, full range = 2*4 = 8

        addEncodeHeader("foo", "bar", 3);
        encode(out, encHeaders);
        verifyRequiredInsertCount(3);
        verifyKnownReceivedCount(3);
        decode(out, decHeaders);
        assertThat(decDynamicTable.insertCount(), is(3));
        assertThat(decHeaders.size(), is(3));
        verifyDecodedHeaders("foo", "bar", 3);

        resetState();
        addEncodeHeader("boo", "far", 3);
        encode(out, encHeaders);
        verifyRequiredInsertCount(6);
        verifyKnownReceivedCount(6);
        decode(out, decHeaders);
        assertThat(decDynamicTable.insertCount(), is(6));
        assertThat(decHeaders.size(), is(3));
        verifyDecodedHeaders("boo", "far", 3);

        resetState();
        addEncodeHeader("zoo", "gar", 3);
        encode(out, encHeaders);
        verifyRequiredInsertCount(9);
        verifyKnownReceivedCount(9);

        decode(out, decHeaders);
        assertThat(decDynamicTable.insertCount(), is(9));
        assertThat(decHeaders.size(), is(3));
        verifyDecodedHeaders("zoo", "gar", 3);

        // Now reuse the headers for encode to use dynamic table.
        resetState();
        assertThat("Header not found in encoder dynamic table.",
                encDynamicTable.getEntryIndex("zoo1", "gar"), greaterThanOrEqualTo(0));
        assertThat("Header not found in encoder dynamic table.",
                encDynamicTable.getEntryIndex("zoo2", "gar"), greaterThanOrEqualTo(0));
        encHeaders.add("zoo1", "gar");
        encHeaders.add("zoo2", "gar");
        encode(out, encHeaders);
        verifyRequiredInsertCount(9); // No new inserts
        verifyKnownReceivedCount(9); // No new inserts
        decode(out, decHeaders);
        assertThat(decDynamicTable.insertCount(), is(9));
        assertThat(decHeaders.size(), is(2));
        verifyDecodedHeader("zoo1", "gar");
        verifyDecodedHeader("zoo2", "gar");
    }

Domain

Subdomains

Frequently Asked Questions

What does indexWrapAround() do?
indexWrapAround() is a function in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java.
Where is indexWrapAround() defined?
indexWrapAround() is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java at line 127.
What does indexWrapAround() call?
indexWrapAround() calls 9 function(s): addEncodeHeader, decode, encode, resetState, setup, verifyDecodedHeader, verifyDecodedHeaders, verifyKnownReceivedCount, and 1 more.

Analyze Your Own Codebase

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

Try Supermodel Free