QuicStreamChannelCreationTest Class — netty Architecture
Architecture documentation for the QuicStreamChannelCreationTest class in QuicStreamChannelCreationTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD c27c449e_05b7_6104_9f32_ebabb5202beb["QuicStreamChannelCreationTest"] 4edffa6e_957b_59ff_6f0c_094dcdd3c48e["QuicStreamChannelCreationTest.java"] c27c449e_05b7_6104_9f32_ebabb5202beb -->|defined in| 4edffa6e_957b_59ff_6f0c_094dcdd3c48e 23393a02_5ddb_990b_da32_b91b6964812e["testCreateStream()"] c27c449e_05b7_6104_9f32_ebabb5202beb -->|method| 23393a02_5ddb_990b_da32_b91b6964812e ef305828_94d3_348b_b022_65ae5f123fc3["testCreateStreamViaBootstrap()"] c27c449e_05b7_6104_9f32_ebabb5202beb -->|method| ef305828_94d3_348b_b022_65ae5f123fc3 af7f2278_621b_79cf_a6ec_07f9a064ac11["assertQuicStreamChannel()"] c27c449e_05b7_6104_9f32_ebabb5202beb -->|method| af7f2278_621b_79cf_a6ec_07f9a064ac11
Relationship Graph
Source Code
codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCreationTest.java lines 33–133
public class QuicStreamChannelCreationTest extends AbstractQuicTest {
private static final AttributeKey<String> ATTRIBUTE_KEY = AttributeKey.newInstance("testKey");
private static final String ATTRIBUTE_VALUE = "Test";
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testCreateStream(Executor executor) throws Throwable {
QuicChannelValidationHandler serverHandler = new QuicChannelValidationHandler();
Channel server = QuicTestUtils.newServer(executor, serverHandler,
new ChannelInboundHandlerAdapter());
InetSocketAddress address = (InetSocketAddress) server.localAddress();
Channel channel = QuicTestUtils.newClient(executor);
QuicChannelValidationHandler clientHandler = new QuicChannelValidationHandler();
try {
QuicChannel quicChannel = QuicTestUtils.newQuicChannelBootstrap(channel)
.handler(clientHandler)
.streamHandler(new ChannelInboundHandlerAdapter())
.remoteAddress(address)
.connect()
.get();
CountDownLatch latch = new CountDownLatch(1);
QuicStreamChannel stream = quicChannel.createStream(QuicStreamType.UNIDIRECTIONAL,
new ChannelInboundHandlerAdapter() {
@Override
public void channelRegistered(ChannelHandlerContext ctx) {
assertQuicStreamChannel((QuicStreamChannel) ctx.channel(),
QuicStreamType.UNIDIRECTIONAL, Boolean.TRUE, null);
latch.countDown();
}
}).sync().get();
assertQuicStreamChannel(stream, QuicStreamType.UNIDIRECTIONAL, Boolean.TRUE, null);
latch.await();
stream.close().sync();
quicChannel.close().sync();
serverHandler.assertState();
clientHandler.assertState();
} finally {
server.close().sync();
// Close the parent Datagram channel as well.
channel.close().sync();
shutdown(executor);
}
}
@ParameterizedTest
@MethodSource("newSslTaskExecutors")
public void testCreateStreamViaBootstrap(Executor executor) throws Throwable {
QuicChannelValidationHandler serverHandler = new QuicChannelValidationHandler();
Channel server = QuicTestUtils.newServer(executor, serverHandler,
new ChannelInboundHandlerAdapter());
InetSocketAddress address = (InetSocketAddress) server.localAddress();
Channel channel = QuicTestUtils.newClient(executor);
QuicChannelValidationHandler clientHandler = new QuicChannelValidationHandler();
try {
QuicChannel quicChannel = QuicTestUtils.newQuicChannelBootstrap(channel)
.handler(clientHandler)
.streamHandler(new ChannelInboundHandlerAdapter())
.remoteAddress(address)
.connect()
.get();
CountDownLatch latch = new CountDownLatch(1);
QuicStreamChannel stream = quicChannel.newStreamBootstrap()
.type(QuicStreamType.UNIDIRECTIONAL)
.attr(ATTRIBUTE_KEY, ATTRIBUTE_VALUE)
.option(ChannelOption.AUTO_READ, Boolean.FALSE)
.handler(new ChannelInboundHandlerAdapter() {
@Override
public void channelRegistered(ChannelHandlerContext ctx) {
assertQuicStreamChannel((QuicStreamChannel) ctx.channel(),
QuicStreamType.UNIDIRECTIONAL, Boolean.FALSE, ATTRIBUTE_VALUE);
latch.countDown();
}
}).create().sync().get();
assertQuicStreamChannel(stream, QuicStreamType.UNIDIRECTIONAL, Boolean.FALSE, ATTRIBUTE_VALUE);
latch.await();
stream.close().sync();
Defined In
Source
Frequently Asked Questions
What is the QuicStreamChannelCreationTest class?
QuicStreamChannelCreationTest is a class in the netty codebase, defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCreationTest.java.
Where is QuicStreamChannelCreationTest defined?
QuicStreamChannelCreationTest is defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamChannelCreationTest.java at line 33.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free