testStreamLimitEnforcedWhenCreatingViaServer() — netty Function Reference
Architecture documentation for the testStreamLimitEnforcedWhenCreatingViaServer() function in QuicStreamLimitTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 62d51dbc_607c_6f07_5f31_26f609c0169b["testStreamLimitEnforcedWhenCreatingViaServer()"] e7f62e39_432b_500c_cf3e_39f7c392f237["QuicStreamLimitTest"] 62d51dbc_607c_6f07_5f31_26f609c0169b -->|defined in| e7f62e39_432b_500c_cf3e_39f7c392f237 c5261b56_975e_d40e_3236_bfa8bc77897e["testStreamLimitEnforcedWhenCreatingViaServerBidirectional()"] c5261b56_975e_d40e_3236_bfa8bc77897e -->|calls| 62d51dbc_607c_6f07_5f31_26f609c0169b b58ca41c_1155_4d92_89cc_c7f69fbe601f["testStreamLimitEnforcedWhenCreatingViaServerUnidirectional()"] b58ca41c_1155_4d92_89cc_c7f69fbe601f -->|calls| 62d51dbc_607c_6f07_5f31_26f609c0169b style 62d51dbc_607c_6f07_5f31_26f609c0169b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamLimitTest.java lines 134–193
private static void testStreamLimitEnforcedWhenCreatingViaServer(Executor executor, QuicStreamType type)
throws Throwable {
Promise<Void> streamPromise = ImmediateEventExecutor.INSTANCE.newPromise();
Promise<Throwable> stream2Promise = ImmediateEventExecutor.INSTANCE.newPromise();
QuicChannelValidationHandler serverHandler = new QuicChannelValidationHandler() {
@Override
public void channelActive(ChannelHandlerContext ctx) {
super.channelActive(ctx);
QuicChannel channel = (QuicChannel) ctx.channel();
channel.createStream(type, new ChannelInboundHandlerAdapter())
.addListener((Future<QuicStreamChannel> future) -> {
if (future.isSuccess()) {
QuicStreamChannel stream = future.getNow();
streamPromise.setSuccess(null);
channel.createStream(type, new ChannelInboundHandlerAdapter())
.addListener((Future<QuicStreamChannel> f) -> {
stream.close();
stream2Promise.setSuccess(f.cause());
});
} else {
streamPromise.setFailure(future.cause());
}
});
}
};
Channel server = QuicTestUtils.newServer(
QuicTestUtils.newQuicServerBuilder(executor),
InsecureQuicTokenHandler.INSTANCE,
serverHandler, new ChannelInboundHandlerAdapter() {
@Override
public boolean isSharable() {
return true;
}
});
InetSocketAddress address = (InetSocketAddress) server.localAddress();
Channel channel = QuicTestUtils.newClient(QuicTestUtils.newQuicClientBuilder(executor)
.initialMaxStreamsBidirectional(1).initialMaxStreamsUnidirectional(1));
QuicChannelValidationHandler clientHandler = new QuicChannelValidationHandler();
try {
QuicChannel quicChannel = QuicTestUtils.newQuicChannelBootstrap(channel)
.handler(clientHandler)
.streamHandler(new ChannelInboundHandlerAdapter())
.remoteAddress(address)
.connect().get();
streamPromise.sync();
// Second stream creation should fail.
assertInstanceOf(QuicException.class, stream2Promise.get());
quicChannel.close().sync();
serverHandler.assertState();
clientHandler.assertState();
} finally {
server.close().sync();
// Close the parent Datagram channel as well.
channel.close().sync();
shutdown(executor);
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does testStreamLimitEnforcedWhenCreatingViaServer() do?
testStreamLimitEnforcedWhenCreatingViaServer() is a function in the netty codebase, defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamLimitTest.java.
Where is testStreamLimitEnforcedWhenCreatingViaServer() defined?
testStreamLimitEnforcedWhenCreatingViaServer() is defined in codec-native-quic/src/test/java/io/netty/handler/codec/quic/QuicStreamLimitTest.java at line 134.
What calls testStreamLimitEnforcedWhenCreatingViaServer()?
testStreamLimitEnforcedWhenCreatingViaServer() is called by 2 function(s): testStreamLimitEnforcedWhenCreatingViaServerBidirectional, testStreamLimitEnforcedWhenCreatingViaServerUnidirectional.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free