Home / Class/ PermessageDeflateExtension Class — netty Architecture

PermessageDeflateExtension Class — netty Architecture

Architecture documentation for the PermessageDeflateExtension class in PerMessageDeflateClientExtensionHandshaker.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  a402eea1_465d_c987_2910_ae13818efab4["PermessageDeflateExtension"]
  f870dbb6_ffd4_1344_7707_82558edf8a08["PerMessageDeflateClientExtensionHandshaker.java"]
  a402eea1_465d_c987_2910_ae13818efab4 -->|defined in| f870dbb6_ffd4_1344_7707_82558edf8a08
  36f75e44_8e99_12d5_efaf_6d47a0cc2d6c["rsv()"]
  a402eea1_465d_c987_2910_ae13818efab4 -->|method| 36f75e44_8e99_12d5_efaf_6d47a0cc2d6c
  edc9a77f_a063_a60e_2d95_8c5dd5e2776b["PermessageDeflateExtension()"]
  a402eea1_465d_c987_2910_ae13818efab4 -->|method| edc9a77f_a063_a60e_2d95_8c5dd5e2776b
  c58beb99_dfbf_b621_edaf_0fd3f53a2b69["WebSocketExtensionEncoder()"]
  a402eea1_465d_c987_2910_ae13818efab4 -->|method| c58beb99_dfbf_b621_edaf_0fd3f53a2b69
  96fa68b8_2672_2941_3efe_764166b3be61["WebSocketExtensionDecoder()"]
  a402eea1_465d_c987_2910_ae13818efab4 -->|method| 96fa68b8_2672_2941_3efe_764166b3be61

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateClientExtensionHandshaker.java lines 277–313

    private final class PermessageDeflateExtension implements WebSocketClientExtension {

        private final boolean serverNoContext;
        private final int serverWindowSize;
        private final boolean clientNoContext;
        private final int clientWindowSize;
        private final WebSocketExtensionFilterProvider extensionFilterProvider;
        private final int maxAllocation;

        @Override
        public int rsv() {
            return RSV1;
        }

        PermessageDeflateExtension(boolean serverNoContext, int serverWindowSize,
                boolean clientNoContext, int clientWindowSize,
                WebSocketExtensionFilterProvider extensionFilterProvider, int maxAllocation) {
            this.serverNoContext = serverNoContext;
            this.serverWindowSize = serverWindowSize;
            this.clientNoContext = clientNoContext;
            this.clientWindowSize = clientWindowSize;
            this.extensionFilterProvider = extensionFilterProvider;
            this.maxAllocation = maxAllocation;
        }

        @Override
        public WebSocketExtensionEncoder newExtensionEncoder() {
            return new PerMessageDeflateEncoder(compressionLevel, clientWindowSize, clientNoContext,
                                                extensionFilterProvider.encoderFilter());
        }

        @Override
        public WebSocketExtensionDecoder newExtensionDecoder() {
            return new PerMessageDeflateDecoder(serverNoContext, extensionFilterProvider.decoderFilter(),
                                                maxAllocation);
        }
    }

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/PerMessageDeflateClientExtensionHandshaker.java.
Where is PermessageDeflateExtension defined?
PermessageDeflateExtension is defined in codec-http/src/main/java/io/netty/handler/codec/http/websocketx/extensions/compression/PerMessageDeflateClientExtensionHandshaker.java at line 277.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free