PermessageDeflateExtension Class — netty Architecture
Architecture documentation for the PermessageDeflateExtension class in PerMessageDeflateServerExtensionHandshaker.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1a472f1c_a58a_4754_5aeb_5e53d0e05cbd["PermessageDeflateExtension"] 100d2d38_c8b2_5421_183b_6e8e04172435["PerMessageDeflateServerExtensionHandshaker.java"] 1a472f1c_a58a_4754_5aeb_5e53d0e05cbd -->|defined in| 100d2d38_c8b2_5421_183b_6e8e04172435 d56cae2b_7c35_7afb_395d_d1f067324219["PermessageDeflateExtension()"] 1a472f1c_a58a_4754_5aeb_5e53d0e05cbd -->|method| d56cae2b_7c35_7afb_395d_d1f067324219 e2e0e83e_f1a2_4c72_70de_7c2fbafd140d["rsv()"] 1a472f1c_a58a_4754_5aeb_5e53d0e05cbd -->|method| e2e0e83e_f1a2_4c72_70de_7c2fbafd140d 7ea12659_af3b_be6e_7a37_a74b255f4192["WebSocketExtensionEncoder()"] 1a472f1c_a58a_4754_5aeb_5e53d0e05cbd -->|method| 7ea12659_af3b_be6e_7a37_a74b255f4192 7f752b4d_6450_a461_c315_f7e1983adfc3["WebSocketExtensionDecoder()"] 1a472f1c_a58a_4754_5aeb_5e53d0e05cbd -->|method| 7f752b4d_6450_a461_c315_f7e1983adfc3 0818c36e_c602_3fdf_135a_e084d58fb4f1["WebSocketExtensionData()"] 1a472f1c_a58a_4754_5aeb_5e53d0e05cbd -->|method| 0818c36e_c602_3fdf_135a_e084d58fb4f1
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateServerExtensionHandshaker.java lines 259–315
private static class PermessageDeflateExtension implements WebSocketServerExtension {
private final int compressionLevel;
private final boolean serverNoContext;
private final int serverWindowSize;
private final boolean clientNoContext;
private final int clientWindowSize;
private final WebSocketExtensionFilterProvider extensionFilterProvider;
private final int maxAllocation;
PermessageDeflateExtension(int compressionLevel, boolean serverNoContext,
int serverWindowSize, boolean clientNoContext, int clientWindowSize,
WebSocketExtensionFilterProvider extensionFilterProvider, int maxAllocation) {
this.compressionLevel = compressionLevel;
this.serverNoContext = serverNoContext;
this.serverWindowSize = serverWindowSize;
this.clientNoContext = clientNoContext;
this.clientWindowSize = clientWindowSize;
this.extensionFilterProvider = extensionFilterProvider;
this.maxAllocation = maxAllocation;
}
@Override
public int rsv() {
return RSV1;
}
@Override
public WebSocketExtensionEncoder newExtensionEncoder() {
return new PerMessageDeflateEncoder(compressionLevel, serverWindowSize, serverNoContext,
extensionFilterProvider.encoderFilter());
}
@Override
public WebSocketExtensionDecoder newExtensionDecoder() {
return new PerMessageDeflateDecoder(clientNoContext, extensionFilterProvider.decoderFilter(),
maxAllocation);
}
@Override
public WebSocketExtensionData newReponseData() {
HashMap<String, String> parameters = new HashMap<String, String>(4);
if (serverNoContext) {
parameters.put(SERVER_NO_CONTEXT, null);
}
if (clientNoContext) {
parameters.put(CLIENT_NO_CONTEXT, null);
}
if (serverWindowSize != MAX_WINDOW_SIZE) {
parameters.put(SERVER_MAX_WINDOW, Integer.toString(serverWindowSize));
}
if (clientWindowSize != MAX_WINDOW_SIZE) {
parameters.put(CLIENT_MAX_WINDOW, Integer.toString(clientWindowSize));
}
return new WebSocketExtensionData(PERMESSAGE_DEFLATE_EXTENSION, parameters);
}
}
Source
Frequently Asked Questions
What is the PermessageDeflateExtension class?
PermessageDeflateExtension is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateServerExtensionHandshaker.java.
Where is PermessageDeflateExtension defined?
PermessageDeflateExtension is defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateServerExtensionHandshaker.java at line 259.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free