Http2ControlFrameLimitEncoderTest Class — netty Architecture
Architecture documentation for the Http2ControlFrameLimitEncoderTest class in Http2ControlFrameLimitEncoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 22de4aca_61e4_e560_8713_527c2b02db9e["Http2ControlFrameLimitEncoderTest"] f0d67719_6fef_fcba_0f46_45f3e3444943["Http2ControlFrameLimitEncoderTest.java"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|defined in| f0d67719_6fef_fcba_0f46_45f3e3444943 521cd212_dcb6_6d04_0928_aa6261ecf339["setup()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| 521cd212_dcb6_6d04_0928_aa6261ecf339 cf0830ae_999d_4981_82b0_88c23a5b5a6f["ChannelPromise()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| cf0830ae_999d_4981_82b0_88c23a5b5a6f 20b03307_2c6f_9d41_f628_db7041e9dc4b["teardown()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| 20b03307_2c6f_9d41_f628_db7041e9dc4b 76a455e6_3b19_5966_48a5_4a444ae57985["testLimitSettingsAck()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| 76a455e6_3b19_5966_48a5_4a444ae57985 29d45100_5b1a_cee1_549c_23920757a2cd["testLimitPingAck()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| 29d45100_5b1a_cee1_549c_23920757a2cd 9ef3c52a_6831_b7ca_1cc3_f584c46c63c0["testNotLimitPing()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| 9ef3c52a_6831_b7ca_1cc3_f584c46c63c0 f2df9dad_100f_14d5_5b18_93d145ddfcd8["testLimitRst()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| f2df9dad_100f_14d5_5b18_93d145ddfcd8 9daa03dc_439c_7de5_b18b_29e66494cabe["testLimit()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| 9daa03dc_439c_7de5_b18b_29e66494cabe 47fd1fb2_be80_9cc4_d23f_053ecbef3394["verifyFlushAndClose()"] 22de4aca_61e4_e560_8713_527c2b02db9e -->|method| 47fd1fb2_be80_9cc4_d23f_053ecbef3394
Relationship Graph
Source Code
codec-http2/src/test/java/io/netty/handler/codec/http2/Http2ControlFrameLimitEncoderTest.java lines 53–277
public class Http2ControlFrameLimitEncoderTest {
private Http2ControlFrameLimitEncoder encoder;
@Mock
private Http2FrameWriter writer;
@Mock
private ChannelHandlerContext ctx;
@Mock
private Channel channel;
@Mock
private Channel.Unsafe unsafe;
@Mock
private ChannelConfig config;
@Mock
private EventExecutor executor;
private int numWrites;
private final Queue<ChannelPromise> goAwayPromises = new ArrayDeque<ChannelPromise>();
/**
* Init fields and do mocking.
*/
@BeforeEach
public void setup() throws Exception {
MockitoAnnotations.initMocks(this);
numWrites = 0;
Http2FrameWriter.Configuration configuration = mock(Http2FrameWriter.Configuration.class);
Http2FrameSizePolicy frameSizePolicy = mock(Http2FrameSizePolicy.class);
when(writer.configuration()).thenReturn(configuration);
when(configuration.frameSizePolicy()).thenReturn(frameSizePolicy);
when(frameSizePolicy.maxFrameSize()).thenReturn(DEFAULT_MAX_FRAME_SIZE);
when(writer.writeRstStream(eq(ctx), anyInt(), anyLong(), any(ChannelPromise.class)))
.thenAnswer(new Answer<ChannelFuture>() {
@Override
public ChannelFuture answer(InvocationOnMock invocationOnMock) {
return handlePromise(invocationOnMock, 3);
}
});
when(writer.writeSettingsAck(any(ChannelHandlerContext.class), any(ChannelPromise.class)))
.thenAnswer(new Answer<ChannelFuture>() {
@Override
public ChannelFuture answer(InvocationOnMock invocationOnMock) {
return handlePromise(invocationOnMock, 1);
}
});
when(writer.writePing(any(ChannelHandlerContext.class), anyBoolean(), anyLong(), any(ChannelPromise.class)))
.thenAnswer(new Answer<ChannelFuture>() {
@Override
public ChannelFuture answer(InvocationOnMock invocationOnMock) {
ChannelPromise promise = handlePromise(invocationOnMock, 3);
if (invocationOnMock.getArgument(1) == Boolean.FALSE) {
promise.trySuccess();
}
return promise;
}
});
when(writer.writeGoAway(any(ChannelHandlerContext.class), anyInt(), anyLong(), any(ByteBuf.class),
any(ChannelPromise.class))).thenAnswer(new Answer<ChannelFuture>() {
@Override
public ChannelFuture answer(InvocationOnMock invocationOnMock) {
ReferenceCountUtil.release(invocationOnMock.getArgument(3));
ChannelPromise promise = invocationOnMock.getArgument(4);
goAwayPromises.offer(promise);
return promise;
}
});
Http2Connection connection = new DefaultHttp2Connection(false);
connection.remote().flowController(new DefaultHttp2RemoteFlowController(connection));
connection.local().flowController(new DefaultHttp2LocalFlowController(connection).frameWriter(writer));
DefaultHttp2ConnectionEncoder defaultEncoder =
Defined In
Source
Frequently Asked Questions
What is the Http2ControlFrameLimitEncoderTest class?
Http2ControlFrameLimitEncoderTest is a class in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/Http2ControlFrameLimitEncoderTest.java.
Where is Http2ControlFrameLimitEncoderTest defined?
Http2ControlFrameLimitEncoderTest is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/Http2ControlFrameLimitEncoderTest.java at line 53.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free