SpdyFrameDecoderTest Class — netty Architecture
Architecture documentation for the SpdyFrameDecoderTest class in SpdyFrameDecoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 694e7f21_2c70_1029_2eab_f7afcf7a1d96["SpdyFrameDecoderTest"] 65b7edba_a461_d857_a04c_c2f827a77bfa["SpdyFrameDecoderTest.java"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|defined in| 65b7edba_a461_d857_a04c_c2f827a77bfa 3e7f872b_7b79_c6ba_2c48_f29336096cc1["createDecoder()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 3e7f872b_7b79_c6ba_2c48_f29336096cc1 8575f3e0_8603_4a28_cd1b_ec8a55d48cec["releaseBuffers()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 8575f3e0_8603_4a28_cd1b_ec8a55d48cec cb72ab17_1cd4_7ebe_95d0_fb882746a21c["encodeDataFrameHeader()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| cb72ab17_1cd4_7ebe_95d0_fb882746a21c 22716287_5b34_da1d_c8e3_c9777b358484["encodeControlFrameHeader()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 22716287_5b34_da1d_c8e3_c9777b358484 c51bc459_2f26_5c59_8526_88a7ed89b9b5["testSpdyDataFrame()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| c51bc459_2f26_5c59_8526_88a7ed89b9b5 cba070ef_46bd_f712_0ece_0a764d2f1db9["testEmptySpdyDataFrame()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| cba070ef_46bd_f712_0ece_0a764d2f1db9 fb76c3ef_514d_de06_ae3b_068b6b4c29ae["testLastSpdyDataFrame()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| fb76c3ef_514d_de06_ae3b_068b6b4c29ae 5714f59f_00d7_8886_cf77_659de194cde1["testUnknownSpdyDataFrameFlags()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 5714f59f_00d7_8886_cf77_659de194cde1 83431809_e79a_ec05_c93f_d4d877bd143b["testIllegalSpdyDataFrameStreamId()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 83431809_e79a_ec05_c93f_d4d877bd143b 9882db1e_6996_de53_3959_dbf6784f1105["testPipelinedSpdyDataFrames()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 9882db1e_6996_de53_3959_dbf6784f1105 ba2dd72c_d864_92f2_ce76_a5ab308c885b["testSpdySynStreamFrame()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| ba2dd72c_d864_92f2_ce76_a5ab308c885b 6a7092b8_50f7_b1ad_4189_b3f7808f8eca["testLastSpdySynStreamFrame()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 6a7092b8_50f7_b1ad_4189_b3f7808f8eca 4b9ed3c5_bf9a_77bf_38fb_b5c8228ba639["testUnidirectionalSpdySynStreamFrame()"] 694e7f21_2c70_1029_2eab_f7afcf7a1d96 -->|method| 4b9ed3c5_bf9a_77bf_38fb_b5c8228ba639
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyFrameDecoderTest.java lines 36–1241
public class SpdyFrameDecoderTest {
private static final Random RANDOM = new Random();
private final SpdyFrameDecoderDelegate delegate = mock(SpdyFrameDecoderDelegate.class);
private final TestSpdyFrameDecoderDelegate testDelegate = new TestSpdyFrameDecoderDelegate(delegate);
private SpdyFrameDecoder decoder;
@BeforeEach
public void createDecoder() {
decoder = new SpdyFrameDecoder(SpdyVersion.SPDY_3_1, testDelegate);
}
@AfterEach
public void releaseBuffers() {
testDelegate.releaseAll();
}
private static void encodeDataFrameHeader(ByteBuf buffer, int streamId, byte flags, int length) {
buffer.writeInt(streamId & 0x7FFFFFFF);
buffer.writeByte(flags);
buffer.writeMedium(length);
}
static void encodeControlFrameHeader(ByteBuf buffer, short type, byte flags, int length) {
buffer.writeShort(0x8000 | SpdyVersion.SPDY_3_1.version());
buffer.writeShort(type);
buffer.writeByte(flags);
buffer.writeMedium(length);
}
@Test
public void testSpdyDataFrame() throws Exception {
int streamId = RANDOM.nextInt() & 0x7FFFFFFF | 0x01;
byte flags = 0;
int length = 1024;
ByteBuf buf = Unpooled.buffer(SPDY_HEADER_SIZE + length);
encodeDataFrameHeader(buf, streamId, flags, length);
for (int i = 0; i < 256; i ++) {
buf.writeInt(RANDOM.nextInt());
}
decoder.decode(buf);
verify(delegate).readDataFrame(streamId, false, buf.slice(SPDY_HEADER_SIZE, length));
assertFalse(buf.isReadable());
buf.release();
}
@Test
public void testEmptySpdyDataFrame() throws Exception {
int streamId = RANDOM.nextInt() & 0x7FFFFFFF | 0x01;
byte flags = 0;
int length = 0;
ByteBuf buf = Unpooled.buffer(SPDY_HEADER_SIZE + length);
encodeDataFrameHeader(buf, streamId, flags, length);
decoder.decode(buf);
verify(delegate).readDataFrame(streamId, false, Unpooled.EMPTY_BUFFER);
assertFalse(buf.isReadable());
buf.release();
}
@Test
public void testLastSpdyDataFrame() throws Exception {
int streamId = RANDOM.nextInt() & 0x7FFFFFFF | 0x01;
byte flags = 0x01; // FLAG_FIN
int length = 0;
ByteBuf buf = Unpooled.buffer(SPDY_HEADER_SIZE + length);
encodeDataFrameHeader(buf, streamId, flags, length);
decoder.decode(buf);
verify(delegate).readDataFrame(streamId, true, Unpooled.EMPTY_BUFFER);
assertFalse(buf.isReadable());
buf.release();
}
@Test
public void testUnknownSpdyDataFrameFlags() throws Exception {
int streamId = RANDOM.nextInt() & 0x7FFFFFFF | 0x01;
Source
Frequently Asked Questions
What is the SpdyFrameDecoderTest class?
SpdyFrameDecoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyFrameDecoderTest.java.
Where is SpdyFrameDecoderTest defined?
SpdyFrameDecoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyFrameDecoderTest.java at line 36.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free