QpackDecoderDynamicTableTest Class — netty Architecture
Architecture documentation for the QpackDecoderDynamicTableTest class in QpackDecoderDynamicTableTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 091d8141_4743_3fd2_b4c8_b5018e33c504["QpackDecoderDynamicTableTest"] 6d0d8c30_7e3b_7fc7_8fba_bf6e3e8d9d32["QpackDecoderDynamicTableTest.java"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|defined in| 6d0d8c30_7e3b_7fc7_8fba_bf6e3e8d9d32 c9bfe71e_3d89_5e14_9594_9cea70b448a5["length()"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|method| c9bfe71e_3d89_5e14_9594_9cea70b448a5 becb0143_b4b9_93f8_4433_b28a9d88ee97["size()"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|method| becb0143_b4b9_93f8_4433_b28a9d88ee97 2f325bb8_3228_4f45_12c8_720ccf234b39["getEntry()"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|method| 2f325bb8_3228_4f45_12c8_720ccf234b39 3b4b8ac5_0a03_046c_2e97_35007579afae["getEntryExceptionally()"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|method| 3b4b8ac5_0a03_046c_2e97_35007579afae 6b7a7c02_4a90_20c8_86d6_a98036e7483f["setCapacity()"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|method| 6b7a7c02_4a90_20c8_86d6_a98036e7483f bd9ed665_b3f8_a6a0_8149_c1e4807bbd9a["add()"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|method| bd9ed665_b3f8_a6a0_8149_c1e4807bbd9a 732f83db_a1a2_68be_c2e3_1de54de9beee["QpackDecoderDynamicTable()"] 091d8141_4743_3fd2_b4c8_b5018e33c504 -->|method| 732f83db_a1a2_68be_c2e3_1de54de9beee
Relationship Graph
Source Code
codec-http3/src/test/java/io/netty/handler/codec/http3/QpackDecoderDynamicTableTest.java lines 25–129
public class QpackDecoderDynamicTableTest {
private final QpackHeaderField fooBar = new QpackHeaderField("foo", "bar");
@Test
public void length() throws Exception {
QpackDecoderDynamicTable table = newTable(100);
assertEquals(0, table.length());
table.add(fooBar);
assertEquals(1, table.length());
table.clear();
assertEquals(0, table.length());
}
@Test
public void size() throws Exception {
QpackDecoderDynamicTable table = newTable(100);
assertEquals(0, table.size());
QpackHeaderField entry = new QpackHeaderField("foo", "bar");
table.add(entry);
assertEquals(entry.size(), table.size());
table.clear();
assertEquals(0, table.size());
}
@Test
public void getEntry() throws Exception {
QpackDecoderDynamicTable table = newTable(100);
QpackHeaderField entry = new QpackHeaderField("foo", "bar");
table.add(entry);
assertEquals(entry, table.getEntry(0));
table.clear();
assertThrows(QpackException.class, () -> table.getEntry(0));
}
@Test
public void getEntryExceptionally() throws Exception {
QpackDecoderDynamicTable table = newTable(1);
assertThrows(QpackException.class, () -> table.getEntry(0));
}
@Test
public void setCapacity() throws Exception {
QpackHeaderField entry1 = new QpackHeaderField("foo", "bar");
QpackHeaderField entry2 = new QpackHeaderField("hello", "world");
final long size1 = entry1.size();
final long size2 = entry2.size();
QpackDecoderDynamicTable table = newTable(size1 + size2);
table.add(entry1);
table.add(entry2);
assertEquals(2, table.length());
assertEquals(size1 + size2, table.size());
assertEquals(entry1, table.getEntry(0));
assertEquals(entry2, table.getEntry(1));
table.setCapacity((size1 + size2) * 2); //larger capacity
assertEquals(2, table.length());
assertEquals(size1 + size2, table.size());
table.setCapacity(size2); //smaller capacity
//entry1 will be removed
assertEquals(1, table.length());
assertEquals(size2, table.size());
assertEquals(entry2, table.getEntry(0));
table.setCapacity(0); //clear all
assertEquals(0, table.length());
assertEquals(0, table.size());
}
@Test
public void add() throws Exception {
QpackDecoderDynamicTable table = newTable(100);
assertEquals(0, table.size());
QpackHeaderField entry1 = new QpackHeaderField("foo", "bar"); //size:3+3+32=38
QpackHeaderField entry2 = new QpackHeaderField("hello", "world");
table.add(entry1); //success
assertEquals(entry1.size(), table.size());
assertEquals(entry1, table.getEntry(0));
table.setCapacity(32); //entry1 is removed from table
Source
Frequently Asked Questions
What is the QpackDecoderDynamicTableTest class?
QpackDecoderDynamicTableTest is a class in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackDecoderDynamicTableTest.java.
Where is QpackDecoderDynamicTableTest defined?
QpackDecoderDynamicTableTest is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackDecoderDynamicTableTest.java at line 25.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free