Home / Class/ QpackEncoderDecoderTest Class — netty Architecture

QpackEncoderDecoderTest Class — netty Architecture

Architecture documentation for the QpackEncoderDecoderTest class in QpackEncoderDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  a2f105b8_5272_f106_c6ff_e4604fde3ee0["QpackEncoderDecoderTest"]
  4ef54157_5465_5f29_8ce6_4e23bc831e45["QpackEncoderDecoderTest.java"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|defined in| 4ef54157_5465_5f29_8ce6_4e23bc831e45
  ea9a6c92_456d_2c8a_b157_73a9208eba5d["tearDown()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| ea9a6c92_456d_2c8a_b157_73a9208eba5d
  1bf51089_9e22_a05a_05e9_15cd2276797f["dynamicIndexed()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 1bf51089_9e22_a05a_05e9_15cd2276797f
  730c1ccb_3dea_01cb_b93b_54766d4b735a["dynamicIndexedWithBlockedStreams()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 730c1ccb_3dea_01cb_b93b_54766d4b735a
  48c808c6_db0e_e56c_9d15_f12d6e4576ed["dynamicIndexedWithStaticTableNameRef()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 48c808c6_db0e_e56c_9d15_f12d6e4576ed
  47a74f2d_c110_6815_7c12_2eebe8364043["dynamicIndexedWithStaticTableNameRefWithBlockedStreams()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 47a74f2d_c110_6815_7c12_2eebe8364043
  4532cf55_07c3_23b1_bd32_f99083b0395b["dynamicIndexedWithNameRef()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 4532cf55_07c3_23b1_bd32_f99083b0395b
  a9e9c4c0_1adb_7262_dc8f_b3511f755aa1["dynamicIndexedWithNameRefWithBlockedStream()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| a9e9c4c0_1adb_7262_dc8f_b3511f755aa1
  158d5307_2479_2a29_560d_51623d8a8403["indexWrapAround()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 158d5307_2479_2a29_560d_51623d8a8403
  ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783["indexWrapAroundWithBlockedStreams()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783
  33bd7c0f_f1af_f340_0762_d70deb77d283["duplicate()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 33bd7c0f_f1af_f340_0762_d70deb77d283
  89cc0ebd_0d9c_8809_c991_b6e08c14fccc["duplicateWithBlockedStreams()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 89cc0ebd_0d9c_8809_c991_b6e08c14fccc
  03d51482_35ec_6301_b735_1bbed1e47a21["testDynamicTableIndexed()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| 03d51482_35ec_6301_b735_1bbed1e47a21
  a074fc6f_eb09_bb92_e78d_571f8806ca4c["testDynamicTableIndexedWithBlockedStreams()"]
  a2f105b8_5272_f106_c6ff_e4604fde3ee0 -->|method| a074fc6f_eb09_bb92_e78d_571f8806ca4c

Relationship Graph

Source Code

codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java lines 46–543

public class QpackEncoderDecoderTest {

    private QpackEncoder encoder;
    private QpackDecoder decoder;
    private boolean stateSyncStrategyAckNextInsert = true;
    private int headersAdded;
    private int maxEntries;
    private QpackEncoderDynamicTable encDynamicTable;
    private QpackDecoderDynamicTable decDynamicTable;
    private BlockingQueue<Callable<Void>> suspendedEncoderInstructions;

    private final QpackDecoderStateSyncStrategy syncStrategy = mock(QpackDecoderStateSyncStrategy.class);
    private final Http3Headers encHeaders = new DefaultHttp3Headers();
    private final Http3Headers decHeaders = new DefaultHttp3Headers();
    private final ByteBuf out = Unpooled.buffer();
    private final EmbeddedQuicChannel parent = new EmbeddedQuicChannel(true);
    private QpackAttributes attributes;

    @AfterEach
    public void tearDown() {
        out.release();
    }

    @Test
    public void dynamicIndexed() throws Exception {
        setup(128, 0);
        headersAdded++;
        testDynamicTableIndexed("foo", "bar");
    }

    @Test
    public void dynamicIndexedWithBlockedStreams() throws Exception {
        setup(128, 100);
        headersAdded++;
        testDynamicTableIndexedWithBlockedStreams("foo", "bar");
    }

    @Test
    public void dynamicIndexedWithStaticTableNameRef() throws Exception {
        setup(128, 0);
        headersAdded++;
        testDynamicTableIndexed(":authority", "netty.quic");
    }

    @Test
    public void dynamicIndexedWithStaticTableNameRefWithBlockedStreams() throws Exception {
        setup(128, 100);
        headersAdded++;
        testDynamicTableIndexedWithBlockedStreams(":authority", "netty.quic");
    }

    @Test
    public void dynamicIndexedWithNameRef() throws Exception {
        setup(128, 0);

        headersAdded++;
        testDynamicTableIndexed("foo", "bar");

        resetState();

        headersAdded++;
        testDynamicTableIndexed("foo", "bar2");

        resetState();

        testDynamicTableIndexed("foo", "bar");
    }

    @Test
    public void dynamicIndexedWithNameRefWithBlockedStream() throws Exception {
        setup(128, 100);

        headersAdded++;
        testDynamicTableIndexedWithBlockedStreams("foo", "bar");

        resetState();

        headersAdded++;
        testDynamicTableIndexedWithBlockedStreams("foo", "bar2");
    }

Frequently Asked Questions

What is the QpackEncoderDecoderTest class?
QpackEncoderDecoderTest is a class in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java.
Where is QpackEncoderDecoderTest defined?
QpackEncoderDecoderTest is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java at line 46.

Analyze Your Own Codebase

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

Try Supermodel Free