Home / Function/ duplicateWithBlockedStreams() — netty Function Reference

duplicateWithBlockedStreams() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc["duplicateWithBlockedStreams()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0["QpackEncoderDecoderTest"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|defined in| a2f105b8_5272_f106_c6ff_e4604fde3ee0
  8b7d68af_ce51_4e48_b8d7_ce72fd007482["setup()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| 8b7d68af_ce51_4e48_b8d7_ce72fd007482
  774159a1_175e_8719_c4d3_d0b597c565f0["addEncodeHeader()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| 774159a1_175e_8719_c4d3_d0b597c565f0
  dbadf5dd_759e_9666_c044_b830bfb006e7["encode()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| dbadf5dd_759e_9666_c044_b830bfb006e7
  d1b98b2f_bbd4_27a4_6d86_baace932a319["verifyRequiredInsertCount()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| d1b98b2f_bbd4_27a4_6d86_baace932a319
  df3a5571_94fc_f51f_c432_e0490c53efd5["verifyKnownReceivedCount()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| df3a5571_94fc_f51f_c432_e0490c53efd5
  8ffd2344_51e9_0e6a_5a0a_2cca38fa4edd["resetState()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| 8ffd2344_51e9_0e6a_5a0a_2cca38fa4edd
  90fb8933_0761_5196_66a3_59e5e125c634["drainNextSuspendedEncoderInstruction()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| 90fb8933_0761_5196_66a3_59e5e125c634
  879f268a_79d6_4e84_4dcc_69e8fceb5059["decode()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| 879f268a_79d6_4e84_4dcc_69e8fceb5059
  e464185a_011d_917c_4731_29ce677d17aa["drainAllSuspendedEncoderInstructions()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| e464185a_011d_917c_4731_29ce677d17aa
  b0e13fad_f554_d84c_38f4_40a57d570d8a["verifyDecodedHeader()"]
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc -->|calls| b0e13fad_f554_d84c_38f4_40a57d570d8a
  style 89cc0ebd_0d9c_8809_c991_b6e08c14fccc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java lines 292–333

    @Test
    public void duplicateWithBlockedStreams() throws Exception {
        setup(256, 100, 50);
        // Do not ack any add so entries are not evicted from the table just marked for eviction hence leveraging
        // duplicate path
        stateSyncStrategyAckNextInsert = false;

        addEncodeHeader("foo", "bar", 5);
        QpackHeaderField oldEntry = new QpackHeaderField("foo0", "bar");
        assertThat(encHeaders.get(oldEntry.name, oldEntry.value), is(notNullValue()));

        ByteBuf spareEncode = Unpooled.buffer();
        try {
            encode(spareEncode, encHeaders);
        } finally {
            spareEncode.release();
        }
        verifyRequiredInsertCount(5);
        verifyKnownReceivedCount(0);

        final int idx = encDynamicTable.getEntryIndex(oldEntry.name, oldEntry.value);
        assertThat(idx, greaterThanOrEqualTo(0));
        assertThat(encDynamicTable.requiresDuplication(idx, oldEntry.size()), is(true));

        resetState();
        stateSyncStrategyAckNextInsert = true;

        encHeaders.add(oldEntry.name, oldEntry.value);
        encode(out, encHeaders);
        verifyRequiredInsertCount(6);

        drainNextSuspendedEncoderInstruction();
        decode(out, decHeaders);
        assertThat(decDynamicTable.insertCount(), is(0));
        verifyKnownReceivedCount(0);

        drainAllSuspendedEncoderInstructions();
        assertThat(decDynamicTable.insertCount(), is(6));
        verifyKnownReceivedCount(6);
        assertThat(decHeaders.size(), is(1));
        verifyDecodedHeader(oldEntry.name, oldEntry.value);
    }

Domain

Subdomains

Frequently Asked Questions

What does duplicateWithBlockedStreams() do?
duplicateWithBlockedStreams() is a function in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java.
Where is duplicateWithBlockedStreams() defined?
duplicateWithBlockedStreams() is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java at line 292.
What does duplicateWithBlockedStreams() call?
duplicateWithBlockedStreams() calls 10 function(s): addEncodeHeader, decode, drainAllSuspendedEncoderInstructions, drainNextSuspendedEncoderInstruction, encode, resetState, setup, verifyDecodedHeader, and 2 more.

Analyze Your Own Codebase

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

Try Supermodel Free