public Lz4KafkaStream(Stream @base, CompressionStreamMode mode) { _base = @base; _mode = mode; if (mode == CompressionStreamMode.Decompress) { if (!ReadHeader()) { throw new InvalidDataException("Failed to read lz4 header"); } ReadBlock(); } else { WriteHeader(); } }
/// <summary> /// /// </summary> /// <param name="stream"></param> /// <param name="mode"></param> /// <param name="uncompressedBuffer">Recommended size is 32Kb, as default in java xerces implementation</param> public KafkaSnappyStream(Stream stream, CompressionStreamMode mode, byte[] uncompressedBuffer, byte[] compressedBuffer) { _mode = mode; _base = stream; _uncompressedBuffer = uncompressedBuffer; _compressedBuffer = compressedBuffer; if (mode == CompressionStreamMode.Decompress) { if (!ReadHeader()) { throw new InvalidDataException("Failed to read snappy header"); } ReadBlock(); } else { WriteHeader(); } }