PerMessageDeflateEncoderTest Class — netty Architecture
Architecture documentation for the PerMessageDeflateEncoderTest class in PerMessageDeflateEncoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 74922fa4_3ca7_d958_57dc_fafad72e442c["PerMessageDeflateEncoderTest"] 789f5545_db17_043b_71d1_e1cfd6437e55["PerMessageDeflateEncoderTest.java"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|defined in| 789f5545_db17_043b_71d1_e1cfd6437e55 ef7540ee_02af_6bfa_a49d_ca2b38963970["testCompressedFrame()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| ef7540ee_02af_6bfa_a49d_ca2b38963970 b8eedd33_0ce0_82e5_b500_ef82cd19cbb5["testAlreadyCompressedFrame()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| b8eedd33_0ce0_82e5_b500_ef82cd19cbb5 4763cf95_8e58_5409_3685_09a748d7603d["testFragmentedFrame()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| 4763cf95_8e58_5409_3685_09a748d7603d 4921bd5e_32cb_a37e_1992_74a1e64ce57f["testCompressionSkipForBinaryFrame()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| 4921bd5e_32cb_a37e_1992_74a1e64ce57f 96ecfcf6_e1f0_eb6b_9cc9_edb570bf3a33["testSelectivityCompressionSkip()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| 96ecfcf6_e1f0_eb6b_9cc9_edb570bf3a33 413e93f0_dd38_2f95_d162_26b8865a53f8["testIllegalStateWhenCompressionInProgress()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| 413e93f0_dd38_2f95_d162_26b8865a53f8 a4ba48e7_df48_400d_8e81_037968595054["testEmptyFrameCompression()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| a4ba48e7_df48_400d_8e81_037968595054 9ed12bc8_d791_28ab_4734_b8b12df64adc["testCodecExceptionForNotFinEmptyFrame()"] 74922fa4_3ca7_d958_57dc_fafad72e442c -->|method| 9ed12bc8_d791_28ab_4734_b8b12df64adc
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateEncoderTest.java lines 47–324
public class PerMessageDeflateEncoderTest {
private static final Random random = new Random();
@Test
public void testCompressedFrame() {
EmbeddedChannel encoderChannel = new EmbeddedChannel(new PerMessageDeflateEncoder(9, 15, false));
EmbeddedChannel decoderChannel = new EmbeddedChannel(
ZlibCodecFactory.newZlibDecoder(ZlibWrapper.NONE, 0));
// initialize
byte[] payload = new byte[300];
random.nextBytes(payload);
BinaryWebSocketFrame frame = new BinaryWebSocketFrame(true,
WebSocketExtension.RSV3, Unpooled.wrappedBuffer(payload));
// execute
assertTrue(encoderChannel.writeOutbound(frame));
BinaryWebSocketFrame compressedFrame = encoderChannel.readOutbound();
// test
assertNotNull(compressedFrame);
assertNotNull(compressedFrame.content());
assertEquals(WebSocketExtension.RSV1 | WebSocketExtension.RSV3, compressedFrame.rsv());
assertTrue(decoderChannel.writeInbound(compressedFrame.content()));
assertTrue(decoderChannel.writeInbound(DeflateDecoder.FRAME_TAIL.duplicate()));
ByteBuf uncompressedPayload = decoderChannel.readInbound();
assertEquals(300, uncompressedPayload.readableBytes());
byte[] finalPayload = new byte[300];
uncompressedPayload.readBytes(finalPayload);
assertArrayEquals(finalPayload, payload);
uncompressedPayload.release();
}
@Test
public void testAlreadyCompressedFrame() {
EmbeddedChannel encoderChannel = new EmbeddedChannel(new PerMessageDeflateEncoder(9, 15, false));
// initialize
byte[] payload = new byte[300];
random.nextBytes(payload);
BinaryWebSocketFrame frame = new BinaryWebSocketFrame(true,
WebSocketExtension.RSV3 | WebSocketExtension.RSV1,
Unpooled.wrappedBuffer(payload));
// execute
assertTrue(encoderChannel.writeOutbound(frame));
BinaryWebSocketFrame newFrame = encoderChannel.readOutbound();
// test
assertNotNull(newFrame);
assertNotNull(newFrame.content());
assertEquals(WebSocketExtension.RSV3 | WebSocketExtension.RSV1, 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(new PerMessageDeflateEncoder(9, 15, false,
NEVER_SKIP));
EmbeddedChannel decoderChannel = new EmbeddedChannel(
ZlibCodecFactory.newZlibDecoder(ZlibWrapper.NONE, 0));
// initialize
byte[] payload1 = new byte[100];
random.nextBytes(payload1);
byte[] payload2 = new byte[100];
random.nextBytes(payload2);
byte[] payload3 = new byte[100];
random.nextBytes(payload3);
BinaryWebSocketFrame frame1 = new BinaryWebSocketFrame(false,
WebSocketExtension.RSV3,
Source
Frequently Asked Questions
What is the PerMessageDeflateEncoderTest class?
PerMessageDeflateEncoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateEncoderTest.java.
Where is PerMessageDeflateEncoderTest defined?
PerMessageDeflateEncoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateEncoderTest.java at line 47.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free