Snappy codec implementation (e.g., from 'snappy' or 'snappyjs' package)
Compression provider for use with registerCompressionProvider
import snappy from 'snappy'
import { createSnappyProvider, registerCompressionProvider, CompressionCodec } from '@qualithm/kafka-client'
const snappyProvider = createSnappyProvider({
compressSync: snappy.compressSync,
decompressSync: snappy.uncompressSync
})
registerCompressionProvider(CompressionCodec.SNAPPY, snappyProvider)
Creates a Kafka-compatible snappy compression provider.
Kafka uses Xerial snappy framing, which wraps snappy-compressed blocks with a magic header and length-prefixed chunks. This is the format used by the Java Kafka client (org.xerial.snappy).