Http3ServerPushStreamManagerTest Class — netty Architecture
Architecture documentation for the Http3ServerPushStreamManagerTest class in Http3ServerPushStreamManagerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 716d9879_a637_c3da_7ca6_1aa12e6c5118["Http3ServerPushStreamManagerTest"] 99372454_2631_f49a_f51f_dd18c31f44b3["Http3ServerPushStreamManagerTest.java"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|defined in| 99372454_2631_f49a_f51f_dd18c31f44b3 be2f6c2b_003f_eb86_fd8d_742b83ea5fdc["setUp()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| be2f6c2b_003f_eb86_fd8d_742b83ea5fdc 130a13af_034d_20a2_c233_fbb173bcb26e["tearDown()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| 130a13af_034d_20a2_c233_fbb173bcb26e 2fa1e6f9_067c_9e7f_5669_33745b59e1f7["pushAllowed()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| 2fa1e6f9_067c_9e7f_5669_33745b59e1f7 f897b03f_d480_1fa6_2e9e_4de7819104a1["reserveWhenPushNotAllowed()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| f897b03f_d480_1fa6_2e9e_4de7819104a1 b3cff5e4_447f_45c9_eb0f_76aa03c8374a["reserveWhenPushAllowed()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| b3cff5e4_447f_45c9_eb0f_76aa03c8374a 491c782e_d9e1_27d3_331a_dec97332692b["reservesAfterRefreshMaxId()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| 491c782e_d9e1_27d3_331a_dec97332692b da7f5c24_31e1_3be5_b360_27a026fe50ab["pushStreamNoHandler()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| da7f5c24_31e1_3be5_b360_27a026fe50ab 20c99dca_6b1b_9d3a_fabe_e436be18a425["pushStreamWithHandler()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| 20c99dca_6b1b_9d3a_fabe_e436be18a425 77ff8513_3a85_37fc_0864_3143d0c11c5c["pushStreamWithBootstrapNoHandler()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| 77ff8513_3a85_37fc_0864_3143d0c11c5c 37e19c6d_5303_7267_615e_c29a56792ed0["pushStreamWithBootstrapWithHandler()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| 37e19c6d_5303_7267_615e_c29a56792ed0 89c336df_ab20_798d_5637_74446f0aaecd["pushStreamWithBootstrapCreateAndClose()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| 89c336df_ab20_798d_5637_74446f0aaecd c35515f9_4bcd_f37f_1776_0b3e961facd2["pushStreamCreateAndClose()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| c35515f9_4bcd_f37f_1776_0b3e961facd2 a6493178_be30_33af_1680_303aaba1d848["EmbeddedQuicStreamChannel()"] 716d9879_a637_c3da_7ca6_1aa12e6c5118 -->|method| a6493178_be30_33af_1680_303aaba1d848
Relationship Graph
Source Code
codec-http3/src/test/java/io/netty/handler/codec/http3/Http3ServerPushStreamManagerTest.java lines 47–212
public class Http3ServerPushStreamManagerTest {
private EmbeddedQuicChannel channel;
private Http3ServerPushStreamManager manager;
private Http3ServerConnectionHandler connectionHandler;
private ChannelHandlerContext controlStreamHandlerCtx;
private EmbeddedQuicStreamChannel localControlStream;
@BeforeEach
public void setUp() throws Exception {
connectionHandler = new Http3ServerConnectionHandler(new Http3RequestStreamInboundHandler() {
@Override
protected void channelRead(ChannelHandlerContext ctx, Http3HeadersFrame frame) {
ReferenceCountUtil.release(frame);
}
@Override
protected void channelRead(ChannelHandlerContext ctx, Http3DataFrame frame) {
ReferenceCountUtil.release(frame);
}
@Override
protected void channelInputClosed(ChannelHandlerContext ctx) {
// NOOP
}
}, null, null, null, true);
channel = new EmbeddedQuicChannel(true, connectionHandler);
localControlStream = (EmbeddedQuicStreamChannel) Http3.getLocalControlStream(channel);
assertNotNull(localControlStream);
assertTrue(localControlStream.releaseOutbound()); // settings
controlStreamHandlerCtx = mock(ChannelHandlerContext.class);
when(controlStreamHandlerCtx.channel()).thenReturn(localControlStream);
connectionHandler.localControlStreamHandler.channelRead(controlStreamHandlerCtx,
new DefaultHttp3SettingsFrame());
manager = new Http3ServerPushStreamManager(channel);
}
@AfterEach
public void tearDown() {
assertFalse(localControlStream.finish());
assertFalse(channel.finish());
}
@Test
public void pushAllowed() throws Exception {
assertFalse(manager.isPushAllowed());
sendMaxPushId(1);
assertTrue(manager.isPushAllowed());
}
@Test
public void reserveWhenPushNotAllowed() {
assertThrows(IllegalStateException.class, () -> manager.reserveNextPushId());
}
@Test
public void reserveWhenPushAllowed() throws Exception {
sendMaxPushId(2);
assertEquals(0, manager.reserveNextPushId());
}
@Test
public void reservesAfterRefreshMaxId() throws Exception {
sendMaxPushId(0);
assertEquals(0, manager.reserveNextPushId());
assertFalse(manager.isPushAllowed());
sendMaxPushId(1);
assertEquals(1, manager.reserveNextPushId());
}
@Test
public void pushStreamNoHandler() throws Exception {
pushStreamCreateAndClose(pushId -> newPushStream(null, pushId));
}
@Test
public void pushStreamWithHandler() throws Exception {
final PushStreamListener pushStreamHandler = new PushStreamListener();
pushStreamCreateAndClose(pushId -> newPushStream(pushStreamHandler, pushId));
assertEquals(1, pushStreamHandler.framesWritten.size());
Defined In
Source
Frequently Asked Questions
What is the Http3ServerPushStreamManagerTest class?
Http3ServerPushStreamManagerTest is a class in the netty codebase, defined in codec-http3/src/test/java/io/netty/handler/codec/http3/Http3ServerPushStreamManagerTest.java.
Where is Http3ServerPushStreamManagerTest defined?
Http3ServerPushStreamManagerTest is defined in codec-http3/src/test/java/io/netty/handler/codec/http3/Http3ServerPushStreamManagerTest.java at line 47.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free