Is your feature request related to a problem? Please describe.
Add support for compression protocol.
Capability flags:
Capability.COMPRESS: use zlib for compression protocol
Capability.Z_STD_COMPRESSION: use Z-standard
Enabling compression decreases performance, so its benefits occur primarily when there is low network bandwidth, network transfer time dominates the cost of compression and decompression operations, and result sets are large.
Describe the solution you'd like
Add an option compressionAlgorithms, with default value UNCOMPRESSED, which auto selects the compression algorithm, prefer Z-standard.
Add compression packet codec before MessageDuplexCodec/EnvelopeSlicer if compression protocol is enabled.
Netty does not have a ZstdDecoder yet, see also PR netty/netty#13531. Use zstd-jni instead, which is also used by ZstdEncoder. This dependency should be optional.
Is your feature request related to a problem? Please describe.
Add support for compression protocol.
Capability flags:
Capability.COMPRESS
: use zlib for compression protocolCapability.Z_STD_COMPRESSION
: use Z-standardEnabling compression decreases performance, so its benefits occur primarily when there is low network bandwidth, network transfer time dominates the cost of compression and decompression operations, and result sets are large.
Describe the solution you'd like
Add an option
compressionAlgorithms
, with default valueUNCOMPRESSED
, which auto selects the compression algorithm, prefer Z-standard.Add compression packet codec before
MessageDuplexCodec
/EnvelopeSlicer
if compression protocol is enabled.Additional context
See also MySQL and MariaDB docs.
Netty does not have a
ZstdDecoder
yet, see also PR netty/netty#13531. Use zstd-jni instead, which is also used byZstdEncoder
. This dependency should be optional.