MCPcopy Create free account
hub / github.com/catboost/catboost / TCompressionCodecFactory

Method TCompressionCodecFactory

library/cpp/http/io/compression.cpp:17–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15
16
17TCompressionCodecFactory::TCompressionCodecFactory() {
18 auto gzip = [](auto s) {
19 return MakeHolder<TZLibDecompress>(s);
20 };
21
22 Add("gzip", gzip, [](auto s) { return MakeHolder<TZLibCompress>(s, ZLib::GZip); });
23 Add("deflate", gzip, [](auto s) { return MakeHolder<TZLibCompress>(s, ZLib::ZLib); });
24 Add("br", [](auto s) { return MakeHolder<TBrotliDecompress>(s); }, [](auto s) { return MakeHolder<TBrotliCompress>(s, 4); });
25 Add("x-gzip", gzip, [](auto s) { return MakeHolder<TZLibCompress>(s, ZLib::GZip); });
26 Add("x-deflate", gzip, [](auto s) { return MakeHolder<TZLibCompress>(s, ZLib::ZLib); });
27
28#if defined(ENABLE_GPL)
29 const ui16 bs = 32 * 1024;
30
31 Add("y-lzo", [](auto s) { return MakeHolder<TLzoDecompress>(s); }, [bs](auto s) { return MakeHolder<TLazy<TLzoCompress> >(s, bs); });
32 Add("y-lzf", [](auto s) { return MakeHolder<TLzfDecompress>(s); }, [bs](auto s) { return MakeHolder<TLazy<TLzfCompress> >(s, bs); });
33 Add("y-lzq", [](auto s) { return MakeHolder<TLzqDecompress>(s); }, [bs](auto s) { return MakeHolder<TLazy<TLzqCompress> >(s, bs); });
34#endif
35
36 Add("y-bzip2", [](auto s) { return MakeHolder<TBZipDecompress>(s); }, [](auto s) { return MakeHolder<TBZipCompress>(s); });
37 Add("y-lzma", [](auto s) { return MakeHolder<TLzmaDecompress>(s); }, [](auto s) { return MakeHolder<TLzmaCompress>(s); });
38
39 for (auto codecName : NBlockCodecs::ListAllCodecs()) {
40 if (codecName.StartsWith("zstd06")) {
41 continue;
42 }
43
44 if (codecName.StartsWith("zstd08")) {
45 continue;
46 }
47
48 auto codec = NBlockCodecs::Codec(codecName);
49
50 auto enc = [codec](auto s) {
51 return MakeHolder<NBlockCodecs::TCodedOutput>(s, codec, 32 * 1024);
52 };
53
54 auto dec = [codec](auto s) {
55 return MakeHolder<NBlockCodecs::TDecodedInput>(s, codec);
56 };
57
58 Add(TString("z-") + codecName, dec, enc);
59 }
60}
61
62void TCompressionCodecFactory::Add(TStringBuf name, TDecoderConstructor d, TEncoderConstructor e) {
63 Strings_.emplace_back(name);

Callers

nothing calls this directly

Calls 2

AddFunction · 0.50
StartsWithMethod · 0.45

Tested by

no test coverage detected