QuicStreamChannelCloseTest Class — netty Architecture
Architecture documentation for the QuicStreamChannelCloseTest class in QuicStreamChannelCloseTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f6302430_ab38_2061_da3d_4d6633f03714["QuicStreamChannelCloseTest"] 1a4414cc_c51a_0f28_9c01_05308a452f26["QuicStreamChannelCloseTest.java"] f6302430_ab38_2061_da3d_4d6633f03714 -->|defined in| 1a4414cc_c51a_0f28_9c01_05308a452f26 563b5edc_ef0f_68a7_c184_01892e48e86c["testCloseFromServerWhileInActiveUnidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 563b5edc_ef0f_68a7_c184_01892e48e86c aca16394_7ad4_6eb8_419d_da46091a2aad["testCloseFromServerWhileInActiveBidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| aca16394_7ad4_6eb8_419d_da46091a2aad 407eef2e_d300_52c7_5b63_66b3b874e4f3["testHalfCloseFromServerWhileInActiveUnidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 407eef2e_d300_52c7_5b63_66b3b874e4f3 682516e1_dcf4_cbf0_73a3_c1f5773863c7["testHalfCloseFromServerWhileInActiveBidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 682516e1_dcf4_cbf0_73a3_c1f5773863c7 21aaebfa_63dc_f13f_d3ab_fa9bb659e578["testCloseFromServerWhileInActive()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 21aaebfa_63dc_f13f_d3ab_fa9bb659e578 96feb991_3c6a_01d9_060e_25a24b3ebf12["testCloseFromClientWhileInActiveUnidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 96feb991_3c6a_01d9_060e_25a24b3ebf12 b07825f6_829c_54a9_8c76_c2fe915b1d5d["testCloseFromClientWhileInActiveBidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| b07825f6_829c_54a9_8c76_c2fe915b1d5d 43a2bbed_91ff_667a_166e_262167cae00c["testHalfCloseFromClientWhileInActiveUnidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 43a2bbed_91ff_667a_166e_262167cae00c 36b01605_bb7f_b70d_09f2_11c89843eab2["testHalfCloseFromClientWhileInActiveBidirectional()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 36b01605_bb7f_b70d_09f2_11c89843eab2 31478937_9683_64c2_3ddf_507bb9334135["testCloseFromClientWhileInActive()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 31478937_9683_64c2_3ddf_507bb9334135 aca22f89_a2c6_f37f_4a41_97337ecc5ed2["testWriteToUnidirectionalAfterShutdownOutput()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| aca22f89_a2c6_f37f_4a41_97337ecc5ed2 6a829470_2880_5d08_ab8f_98a14e85a510["testWriteToBidirectionalAfterShutdownOutput()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 6a829470_2880_5d08_ab8f_98a14e85a510 5972d216_48de_8798_863d_d7a060c7d3d6["testWriteToUnidirectionalAfterClose()"] f6302430_ab38_2061_da3d_4d6633f03714 -->|method| 5972d216_48de_8798_863d_d7a060c7d3d6
Relationship Graph
Source Code
codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCloseTest.java lines 39–306
public class QuicStreamChannelCloseTest extends AbstractQuicTest {
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testCloseFromServerWhileInActiveUnidirectional(Executor executor) throws Throwable {
testCloseFromServerWhileInActive(executor, QuicStreamType.UNIDIRECTIONAL, false);
}
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testCloseFromServerWhileInActiveBidirectional(Executor executor) throws Throwable {
testCloseFromServerWhileInActive(executor, QuicStreamType.BIDIRECTIONAL, false);
}
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testHalfCloseFromServerWhileInActiveUnidirectional(Executor executor) throws Throwable {
testCloseFromServerWhileInActive(executor, QuicStreamType.UNIDIRECTIONAL, true);
}
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testHalfCloseFromServerWhileInActiveBidirectional(Executor executor) throws Throwable {
testCloseFromServerWhileInActive(executor, QuicStreamType.BIDIRECTIONAL, true);
}
private static void testCloseFromServerWhileInActive(Executor executor, QuicStreamType type,
boolean halfClose) throws Throwable {
Channel server = null;
Channel channel = null;
try {
final Promise<Channel> streamPromise = ImmediateEventExecutor.INSTANCE.newPromise();
QuicChannelValidationHandler serverHandler = new StreamCreationHandler(type, halfClose, streamPromise);
server = QuicTestUtils.newServer(executor, serverHandler,
new ChannelInboundHandlerAdapter());
channel = QuicTestUtils.newClient(executor);
QuicChannelValidationHandler clientHandler = new QuicChannelValidationHandler();
QuicChannel quicChannel = QuicTestUtils.newQuicChannelBootstrap(channel)
.handler(clientHandler)
.streamHandler(new StreamHandler())
.remoteAddress(server.localAddress())
.connect()
.get();
Channel streamChannel = streamPromise.get();
// Wait for the steam to close. It needs to happen before the 5-second connection idle timeout.
streamChannel.closeFuture().get(3000, TimeUnit.MILLISECONDS);
streamChannel.parent().close();
// Wait till the client was closed
quicChannel.closeFuture().sync();
serverHandler.assertState();
clientHandler.assertState();
} finally {
QuicTestUtils.closeIfNotNull(channel);
QuicTestUtils.closeIfNotNull(server);
shutdown(executor);
}
}
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testCloseFromClientWhileInActiveUnidirectional(Executor executor) throws Throwable {
testCloseFromClientWhileInActive(executor, QuicStreamType.UNIDIRECTIONAL, false);
}
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testCloseFromClientWhileInActiveBidirectional(Executor executor) throws Throwable {
testCloseFromClientWhileInActive(executor, QuicStreamType.BIDIRECTIONAL, false);
}
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testHalfCloseFromClientWhileInActiveUnidirectional(Executor executor) throws Throwable {
Defined In
Source
Frequently Asked Questions
What is the QuicStreamChannelCloseTest class?
QuicStreamChannelCloseTest is a class in the netty codebase, defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCloseTest.java.
Where is QuicStreamChannelCloseTest defined?
QuicStreamChannelCloseTest is defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCloseTest.java at line 39.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free