PerFrameDeflateEncoderTest Class — netty Architecture
Architecture documentation for the PerFrameDeflateEncoderTest class in PerFrameDeflateEncoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d77508f2_7e6d_1869_5652_cb4529317aed["PerFrameDeflateEncoderTest"] b4146fbd_b644_6781_d50d_66261b028dd1["PerFrameDeflateEncoderTest.java"] d77508f2_7e6d_1869_5652_cb4529317aed -->|defined in| b4146fbd_b644_6781_d50d_66261b028dd1 80f48212_8304_899a_462a_7d10753575e1["testCompressedFrame()"] d77508f2_7e6d_1869_5652_cb4529317aed -->|method| 80f48212_8304_899a_462a_7d10753575e1 6283dbfd_e189_40ca_2d18_e1eaf2df9203["testAlreadyCompressedFrame()"] d77508f2_7e6d_1869_5652_cb4529317aed -->|method| 6283dbfd_e189_40ca_2d18_e1eaf2df9203 36a2a9f2_5508_7396_f0b4_b5722f60d5c2["testFramementedFrame()"] d77508f2_7e6d_1869_5652_cb4529317aed -->|method| 36a2a9f2_5508_7396_f0b4_b5722f60d5c2 a19a93df_f356_bcae_d379_aab66895b151["testCompressionSkip()"] d77508f2_7e6d_1869_5652_cb4529317aed -->|method| a19a93df_f356_bcae_d379_aab66895b151
Relationship Graph
Source Code
codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateEncoderTest.java lines 38–189
public class PerFrameDeflateEncoderTest {
private static final Random random = new Random();
@Test
public void testCompressedFrame() {
EmbeddedChannel encoderChannel = new EmbeddedChannel(new PerFrameDeflateEncoder(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 PerFrameDeflateEncoder(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 testFramementedFrame() {
EmbeddedChannel encoderChannel = new EmbeddedChannel(new PerFrameDeflateEncoder(9, 15, false));
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, Unpooled.wrappedBuffer(payload1));
ContinuationWebSocketFrame frame2 = new ContinuationWebSocketFrame(false,
WebSocketExtension.RSV3, Unpooled.wrappedBuffer(payload2));
Source
Frequently Asked Questions
What is the PerFrameDeflateEncoderTest class?
PerFrameDeflateEncoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateEncoderTest.java.
Where is PerFrameDeflateEncoderTest defined?
PerFrameDeflateEncoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateEncoderTest.java at line 38.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free