Home / Class/ HpackDynamicTableTest Class — netty Architecture

HpackDynamicTableTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  66c73598_e36b_e60b_26d1_60dc29c9b823["HpackDynamicTableTest"]
  a26448f6_a6d1_ad8e_b5f7_42d50a77c225["HpackDynamicTableTest.java"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|defined in| a26448f6_a6d1_ad8e_b5f7_42d50a77c225
  e423061e_c8d0_7c10_a271_ae0ff7c76b53["testLength()"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|method| e423061e_c8d0_7c10_a271_ae0ff7c76b53
  a9d0b056_d4df_0883_7d5e_5c1fb9876732["testSize()"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|method| a9d0b056_d4df_0883_7d5e_5c1fb9876732
  dbc0b23c_39f7_a337_6484_d97712e263f5["testGetEntry()"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|method| dbc0b23c_39f7_a337_6484_d97712e263f5
  f6a83514_439f_373e_5514_2df8f41df55c["testGetEntryExceptionally()"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|method| f6a83514_439f_373e_5514_2df8f41df55c
  9db789e1_4c5b_0841_8488_99a5069e3200["testRemove()"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|method| 9db789e1_4c5b_0841_8488_99a5069e3200
  f158b45d_bbe9_2008_5c3f_adf4e839d688["testSetCapacity()"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|method| f158b45d_bbe9_2008_5c3f_adf4e839d688
  57f6ecda_729d_7006_d29a_99b7b1f126ec["testAdd()"]
  66c73598_e36b_e60b_26d1_60dc29c9b823 -->|method| 57f6ecda_729d_7006_d29a_99b7b1f126ec

Relationship Graph

Source Code

codec-http2/src/test/java/io/netty/handler/codec/http2/HpackDynamicTableTest.java lines 26–142

public class HpackDynamicTableTest {
    private static final AsciiString FOO = AsciiString.cached("foo");
    private static final AsciiString BAR = AsciiString.cached("bar");
    private static final AsciiString HELLO = AsciiString.cached("hello");
    private static final AsciiString WORLD = AsciiString.cached("world");

    @Test
    public void testLength() {
        HpackDynamicTable table = new HpackDynamicTable(100);
        assertEquals(0, table.length());
        HpackHeaderField entry = new HpackHeaderField(FOO, BAR);
        table.add(entry);
        assertEquals(1, table.length());
        table.clear();
        assertEquals(0, table.length());
    }

    @Test
    public void testSize() {
        HpackDynamicTable table = new HpackDynamicTable(100);
        assertEquals(0, table.size());
        HpackHeaderField entry = new HpackHeaderField(FOO, BAR);
        table.add(entry);
        assertEquals(entry.size(), table.size());
        table.clear();
        assertEquals(0, table.size());
    }

    @Test
    public void testGetEntry() {
        final HpackDynamicTable table = new HpackDynamicTable(100);
        HpackHeaderField entry = new HpackHeaderField(FOO, BAR);
        table.add(entry);
        assertEquals(entry, table.getEntry(1));
        table.clear();

        assertThrows(IndexOutOfBoundsException.class, new Executable() {
            @Override
            public void execute() throws Throwable {
                table.getEntry(1);
            }
        });
    }

    @Test
    public void testGetEntryExceptionally() {
        final HpackDynamicTable table = new HpackDynamicTable(1);
        assertThrows(IndexOutOfBoundsException.class, new Executable() {
            @Override
            public void execute() throws Throwable {
                table.getEntry(1);
            }
        });
    }

    @Test
    public void testRemove() {
        HpackDynamicTable table = new HpackDynamicTable(100);
        assertNull(table.remove());
        HpackHeaderField entry1 = new HpackHeaderField(FOO, BAR);
        HpackHeaderField entry2 = new HpackHeaderField(HELLO, WORLD);
        table.add(entry1);
        table.add(entry2);
        assertEquals(entry1, table.remove());
        assertEquals(entry2, table.getEntry(1));
        assertEquals(1, table.length());
        assertEquals(entry2.size(), table.size());
    }

    @Test
    public void testSetCapacity() {
        HpackHeaderField entry1 = new HpackHeaderField(FOO, BAR);
        HpackHeaderField entry2 = new HpackHeaderField(HELLO, WORLD);
        final int size1 = entry1.size();
        final int size2 = entry2.size();
        HpackDynamicTable table = new HpackDynamicTable(size1 + size2);
        table.add(entry1);
        table.add(entry2);
        assertEquals(2, table.length());
        assertEquals(size1 + size2, table.size());
        table.setCapacity(((long) size1 + size2) * 2); //larger capacity

Frequently Asked Questions

What is the HpackDynamicTableTest class?
HpackDynamicTableTest is a class in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/HpackDynamicTableTest.java.
Where is HpackDynamicTableTest defined?
HpackDynamicTableTest is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/HpackDynamicTableTest.java at line 26.

Analyze Your Own Codebase

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

Try Supermodel Free