indexWrapAroundWithBlockedStreams() — netty Function Reference
Architecture documentation for the indexWrapAroundWithBlockedStreams() function in QpackEncoderDecoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783["indexWrapAroundWithBlockedStreams()"] a2f105b8_5272_f106_c6ff_e4604fde3ee0["QpackEncoderDecoderTest"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|defined in| a2f105b8_5272_f106_c6ff_e4604fde3ee0 8b7d68af_ce51_4e48_b8d7_ce72fd007482["setup()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| 8b7d68af_ce51_4e48_b8d7_ce72fd007482 774159a1_175e_8719_c4d3_d0b597c565f0["addEncodeHeader()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| 774159a1_175e_8719_c4d3_d0b597c565f0 dbadf5dd_759e_9666_c044_b830bfb006e7["encode()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| dbadf5dd_759e_9666_c044_b830bfb006e7 d1b98b2f_bbd4_27a4_6d86_baace932a319["verifyRequiredInsertCount()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| d1b98b2f_bbd4_27a4_6d86_baace932a319 df3a5571_94fc_f51f_c432_e0490c53efd5["verifyKnownReceivedCount()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| df3a5571_94fc_f51f_c432_e0490c53efd5 90fb8933_0761_5196_66a3_59e5e125c634["drainNextSuspendedEncoderInstruction()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| 90fb8933_0761_5196_66a3_59e5e125c634 879f268a_79d6_4e84_4dcc_69e8fceb5059["decode()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| 879f268a_79d6_4e84_4dcc_69e8fceb5059 e464185a_011d_917c_4731_29ce677d17aa["drainAllSuspendedEncoderInstructions()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| e464185a_011d_917c_4731_29ce677d17aa 91ce57eb_9029_d632_9669_556fcbee3f3d["verifyDecodedHeaders()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| 91ce57eb_9029_d632_9669_556fcbee3f3d 8ffd2344_51e9_0e6a_5a0a_2cca38fa4edd["resetState()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| 8ffd2344_51e9_0e6a_5a0a_2cca38fa4edd b0e13fad_f554_d84c_38f4_40a57d570d8a["verifyDecodedHeader()"] ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 -->|calls| b0e13fad_f554_d84c_38f4_40a57d570d8a style ee3a6ee4_b7dd_a2a4_fdd2_9c86e3dea783 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java lines 179–239
@Test
public void indexWrapAroundWithBlockedStreams() throws Exception {
setup(128, 100); // maxEntries => 128/32 = 4, full range = 2*4 = 8
addEncodeHeader("foo", "bar", 3);
encode(out, encHeaders);
verifyRequiredInsertCount(3);
verifyKnownReceivedCount(0);
assertThat(decDynamicTable.insertCount(), is(0));
drainNextSuspendedEncoderInstruction();
decode(out, decHeaders);
drainAllSuspendedEncoderInstructions();
assertThat(decDynamicTable.insertCount(), is(3));
verifyKnownReceivedCount(3);
assertThat(decHeaders.size(), is(3));
verifyDecodedHeaders("foo", "bar", 3);
resetState();
addEncodeHeader("boo", "far", 3);
encode(out, encHeaders);
verifyRequiredInsertCount(6);
verifyKnownReceivedCount(0); // All acknowledged entries were removed.
decode(out, decHeaders);
drainAllSuspendedEncoderInstructions();
assertThat(decDynamicTable.insertCount(), is(6));
verifyKnownReceivedCount(6);
assertThat(decHeaders.size(), is(3));
verifyDecodedHeaders("boo", "far", 3);
resetState();
addEncodeHeader("zoo", "gar", 3);
encode(out, encHeaders);
verifyRequiredInsertCount(9);
verifyKnownReceivedCount(0); // All acknowledged entries were removed.
decode(out, decHeaders);
drainAllSuspendedEncoderInstructions();
verifyKnownReceivedCount(9);
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
Calls
Source
Frequently Asked Questions
What does indexWrapAroundWithBlockedStreams() do?
indexWrapAroundWithBlockedStreams() is a function in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java.
Where is indexWrapAroundWithBlockedStreams() defined?
indexWrapAroundWithBlockedStreams() is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/QpackEncoderDecoderTest.java at line 179.
What does indexWrapAroundWithBlockedStreams() call?
indexWrapAroundWithBlockedStreams() calls 11 function(s): addEncodeHeader, decode, drainAllSuspendedEncoderInstructions, drainNextSuspendedEncoderInstruction, encode, resetState, setup, verifyDecodedHeader, and 3 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free