PerFrameDeflateEncoder Class — netty Architecture
Architecture documentation for the PerFrameDeflateEncoder class in PerFrameDeflateEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a460731b_a672_688b_c650_84ce73e3828d["PerFrameDeflateEncoder"] e2215be7_4bc1_2012_7128_1efb6a8a6e2b["PerFrameDeflateEncoder.java"] a460731b_a672_688b_c650_84ce73e3828d -->|defined in| e2215be7_4bc1_2012_7128_1efb6a8a6e2b b540a139_45f1_8659_00b0_1c0176aedf2b["PerFrameDeflateEncoder()"] a460731b_a672_688b_c650_84ce73e3828d -->|method| b540a139_45f1_8659_00b0_1c0176aedf2b 07bcadf5_c6e9_dd5c_0564_4eb77718f6b9["acceptOutboundMessage()"] a460731b_a672_688b_c650_84ce73e3828d -->|method| 07bcadf5_c6e9_dd5c_0564_4eb77718f6b9 b7cd8472_38f1_8856_97bd_9b6da13ddeb0["rsv()"] a460731b_a672_688b_c650_84ce73e3828d -->|method| b7cd8472_38f1_8856_97bd_9b6da13ddeb0 30058fb3_b99e_d084_f380_1cb08cc48242["removeFrameTail()"] a460731b_a672_688b_c650_84ce73e3828d -->|method| 30058fb3_b99e_d084_f380_1cb08cc48242
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateEncoder.java lines 28–81
class PerFrameDeflateEncoder extends DeflateEncoder {
/**
* Constructor
*
* @param compressionLevel compression level of the compressor.
* @param windowSize maximum size of the window compressor buffer.
* @param noContext true to disable context takeover.
*/
PerFrameDeflateEncoder(int compressionLevel, int windowSize, boolean noContext) {
super(compressionLevel, windowSize, noContext, WebSocketExtensionFilter.NEVER_SKIP);
}
/**
* Constructor
*
* @param compressionLevel compression level of the compressor.
* @param windowSize maximum size of the window compressor buffer.
* @param noContext true to disable context takeover.
* @param extensionEncoderFilter extension encoder filter for per frame deflate encoder.
*/
PerFrameDeflateEncoder(int compressionLevel, int windowSize, boolean noContext,
WebSocketExtensionFilter extensionEncoderFilter) {
super(compressionLevel, windowSize, noContext, extensionEncoderFilter);
}
@Override
public boolean acceptOutboundMessage(Object msg) throws Exception {
if (!super.acceptOutboundMessage(msg)) {
return false;
}
WebSocketFrame wsFrame = (WebSocketFrame) msg;
if (extensionEncoderFilter().mustSkip(wsFrame)) {
return false;
}
return (msg instanceof TextWebSocketFrame || msg instanceof BinaryWebSocketFrame ||
msg instanceof ContinuationWebSocketFrame) &&
wsFrame.content().readableBytes() > 0 &&
(wsFrame.rsv() & WebSocketExtension.RSV1) == 0;
}
@Override
protected int rsv(WebSocketFrame msg) {
return msg.rsv() | WebSocketExtension.RSV1;
}
@Override
protected boolean removeFrameTail(WebSocketFrame msg) {
return true;
}
}
Source
Frequently Asked Questions
What is the PerFrameDeflateEncoder class?
PerFrameDeflateEncoder is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateEncoder.java.
Where is PerFrameDeflateEncoder defined?
PerFrameDeflateEncoder is defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerFrameDeflateEncoder.java at line 28.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free