PerMessageDeflateDecoderTest Class — netty Architecture
Architecture documentation for the PerMessageDeflateDecoderTest class in PerMessageDeflateDecoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 5fb9cabd_f848_d24f_11ed_16ea8470984d["PerMessageDeflateDecoderTest"] 2be598bd_c8a1_02fc_e859_b89fb0ce4ad7["PerMessageDeflateDecoderTest.java"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|defined in| 2be598bd_c8a1_02fc_e859_b89fb0ce4ad7 e1fea6b4_2fa8_38a1_fc94_f63e36ddf687["testCompressedFrame()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| e1fea6b4_2fa8_38a1_fc94_f63e36ddf687 cf9add7d_1450_c7d4_3d7e_1829bf321fa3["testNormalFrame()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| cf9add7d_1450_c7d4_3d7e_1829bf321fa3 44dce2ef_faab_627a_b1bc_dc20c2c70ded["testFragmentedFrame()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| 44dce2ef_faab_627a_b1bc_dc20c2c70ded a28b29ae_ed92_8d5f_ef8a_fd2aa8e615ac["testMultiCompressedPayloadWithinFrame()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| a28b29ae_ed92_8d5f_ef8a_fd2aa8e615ac b546715a_d316_55e2_ab7e_e94ba17b4149["testDecompressionSkipForBinaryFrame()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| b546715a_d316_55e2_ab7e_e94ba17b4149 998d6f7b_7874_d346_19ee_33fb377399c1["testSelectivityDecompressionSkip()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| 998d6f7b_7874_d346_19ee_33fb377399c1 5d11d05d_0935_472f_e884_2981351d6f30["testIllegalStateWhenDecompressionInProgress()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| 5d11d05d_0935_472f_e884_2981351d6f30 9b12b06e_12b7_016b_6fb0_d5ade68080da["testEmptyFrameDecompression()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| 9b12b06e_12b7_016b_6fb0_d5ade68080da b99f0276_2253_04dc_a362_9b6305257e00["testFragmentedFrameWithLeftOverInLastFragment()"] 5fb9cabd_f848_d24f_11ed_16ea8470984d -->|method| b99f0276_2253_04dc_a362_9b6305257e00
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateDecoderTest.java lines 46–400
public class PerMessageDeflateDecoderTest {
private static final Random random = new Random();
@Test
public void testCompressedFrame() {
EmbeddedChannel encoderChannel = new EmbeddedChannel(
ZlibCodecFactory.newZlibEncoder(ZlibWrapper.NONE, 9, 15, 8));
EmbeddedChannel decoderChannel = new EmbeddedChannel(new PerMessageDeflateDecoder(false, 0));
// initialize
byte[] payload = new byte[300];
random.nextBytes(payload);
assertTrue(encoderChannel.writeOutbound(Unpooled.wrappedBuffer(payload)));
ByteBuf compressedPayload = encoderChannel.readOutbound();
BinaryWebSocketFrame compressedFrame = new BinaryWebSocketFrame(true,
WebSocketExtension.RSV1 | WebSocketExtension.RSV3,
compressedPayload.slice(0, compressedPayload.readableBytes() - 4));
// execute
assertTrue(decoderChannel.writeInbound(compressedFrame));
BinaryWebSocketFrame uncompressedFrame = decoderChannel.readInbound();
// test
assertNotNull(uncompressedFrame);
assertNotNull(uncompressedFrame.content());
assertEquals(WebSocketExtension.RSV3, uncompressedFrame.rsv());
assertEquals(300, uncompressedFrame.content().readableBytes());
byte[] finalPayload = new byte[300];
uncompressedFrame.content().readBytes(finalPayload);
assertArrayEquals(finalPayload, payload);
uncompressedFrame.release();
}
@Test
public void testNormalFrame() {
EmbeddedChannel decoderChannel = new EmbeddedChannel(new PerMessageDeflateDecoder(false, 0));
// initialize
byte[] payload = new byte[300];
random.nextBytes(payload);
BinaryWebSocketFrame frame = new BinaryWebSocketFrame(true,
WebSocketExtension.RSV3, Unpooled.wrappedBuffer(payload));
// execute
assertTrue(decoderChannel.writeInbound(frame));
BinaryWebSocketFrame newFrame = decoderChannel.readInbound();
// test
assertNotNull(newFrame);
assertNotNull(newFrame.content());
assertEquals(WebSocketExtension.RSV3, newFrame.rsv());
assertEquals(300, newFrame.content().readableBytes());
byte[] finalPayload = new byte[300];
newFrame.content().readBytes(finalPayload);
assertArrayEquals(finalPayload, payload);
newFrame.release();
}
@Test
public void testFragmentedFrame() {
EmbeddedChannel encoderChannel = new EmbeddedChannel(
ZlibCodecFactory.newZlibEncoder(ZlibWrapper.NONE, 9, 15, 8));
EmbeddedChannel decoderChannel = new EmbeddedChannel(new PerMessageDeflateDecoder(false, 0));
// initialize
byte[] payload = new byte[300];
random.nextBytes(payload);
assertTrue(encoderChannel.writeOutbound(Unpooled.wrappedBuffer(payload)));
ByteBuf compressedPayload = encoderChannel.readOutbound();
compressedPayload = compressedPayload.slice(0, compressedPayload.readableBytes() - 4);
int oneThird = compressedPayload.readableBytes() / 3;
BinaryWebSocketFrame compressedFrame1 = new BinaryWebSocketFrame(false,
WebSocketExtension.RSV1 | WebSocketExtension.RSV3,
Source
Frequently Asked Questions
What is the PerMessageDeflateDecoderTest class?
PerMessageDeflateDecoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateDecoderTest.java.
Where is PerMessageDeflateDecoderTest defined?
PerMessageDeflateDecoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateDecoderTest.java at line 46.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free