1#pragma once
2
3#include <Compression/ICompressionCodec.h>
4
5namespace DB
6{
7
8class CompressionCodecGorilla : public ICompressionCodec
9{
10public:
11 CompressionCodecGorilla(UInt8 data_bytes_size_);
12
13 UInt8 getMethodByte() const override;
14
15 String getCodecDesc() const override;
16
17 void useInfoAboutType(DataTypePtr data_type) override;
18
19protected:
20 UInt32 doCompressData(const char * source, UInt32 source_size, char * dest) const override;
21
22 void doDecompressData(const char * source, UInt32 source_size, char * dest, UInt32 uncompressed_size) const override;
23
24 UInt32 getMaxCompressedDataSize(UInt32 uncompressed_size) const override;
25
26private:
27 UInt8 data_bytes_size;
28};
29
30class CompressionCodecFactory;
31void registerCodecGorilla(CompressionCodecFactory & factory);
32
33}
34