PerFrameDeflateDecoderTest Class — netty Architecture
Architecture documentation for the PerFrameDeflateDecoderTest class in PerFrameDeflateDecoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 758acdb4_a05e_36ff_8910_74b681e91da1["PerFrameDeflateDecoderTest"] ae69e3a3_ebfa_1818_2a75_b3bb53e2325c["PerFrameDeflateDecoderTest.java"] 758acdb4_a05e_36ff_8910_74b681e91da1 -->|defined in| ae69e3a3_ebfa_1818_2a75_b3bb53e2325c 83c8a9a5_7456_4c52_0828_080d887652a5["testCompressedFrame()"] 758acdb4_a05e_36ff_8910_74b681e91da1 -->|method| 83c8a9a5_7456_4c52_0828_080d887652a5 263f5e5c_bc75_45c7_a0c5_266336e00c59["testNormalFrame()"] 758acdb4_a05e_36ff_8910_74b681e91da1 -->|method| 263f5e5c_bc75_45c7_a0c5_266336e00c59 7e4c35ff_8282_1695_b29a_50015c485fc8["testCompressedEmptyFrame()"] 758acdb4_a05e_36ff_8910_74b681e91da1 -->|method| 7e4c35ff_8282_1695_b29a_50015c485fc8 4699c6e2_efe4_2506_319a_62e80361c0c1["testDecompressionSkip()"] 758acdb4_a05e_36ff_8910_74b681e91da1 -->|method| 4699c6e2_efe4_2506_319a_62e80361c0c1
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateDecoderTest.java lines 37–155
public class PerFrameDeflateDecoderTest {
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 PerFrameDeflateDecoder(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,
RSV1 | RSV3,
compressedPayload.slice(0, compressedPayload.readableBytes() - 4));
// execute
assertTrue(decoderChannel.writeInbound(compressedFrame));
BinaryWebSocketFrame uncompressedFrame = decoderChannel.readInbound();
// test
assertNotNull(uncompressedFrame);
assertNotNull(uncompressedFrame.content());
assertEquals(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 PerFrameDeflateDecoder(false, 0));
// initialize
byte[] payload = new byte[300];
random.nextBytes(payload);
BinaryWebSocketFrame frame = new BinaryWebSocketFrame(true,
RSV3, Unpooled.wrappedBuffer(payload));
// execute
assertTrue(decoderChannel.writeInbound(frame));
BinaryWebSocketFrame newFrame = decoderChannel.readInbound();
// test
assertNotNull(newFrame);
assertNotNull(newFrame.content());
assertEquals(RSV3, newFrame.rsv());
assertEquals(300, newFrame.content().readableBytes());
byte[] finalPayload = new byte[300];
newFrame.content().readBytes(finalPayload);
assertArrayEquals(finalPayload, payload);
newFrame.release();
}
// See https://github.com/netty/netty/issues/4348
@Test
public void testCompressedEmptyFrame() {
EmbeddedChannel encoderChannel = new EmbeddedChannel(
ZlibCodecFactory.newZlibEncoder(ZlibWrapper.NONE, 9, 15, 8));
EmbeddedChannel decoderChannel = new EmbeddedChannel(new PerFrameDeflateDecoder(false, 0));
assertTrue(encoderChannel.writeOutbound(Unpooled.EMPTY_BUFFER));
ByteBuf compressedPayload = encoderChannel.readOutbound();
BinaryWebSocketFrame compressedFrame =
new BinaryWebSocketFrame(true, RSV1 | RSV3, compressedPayload);
// execute
assertTrue(decoderChannel.writeInbound(compressedFrame));
BinaryWebSocketFrame uncompressedFrame = decoderChannel.readInbound();
// test
Source
Frequently Asked Questions
What is the PerFrameDeflateDecoderTest class?
PerFrameDeflateDecoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateDecoderTest.java.
Where is PerFrameDeflateDecoderTest defined?
PerFrameDeflateDecoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateDecoderTest.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free