diff options
| author | dvorkanton <[email protected]> | 2022-02-10 16:46:04 +0300 | 
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:46:04 +0300 | 
| commit | 110a978b66fe6c0916572df51cfead2a9b647174 (patch) | |
| tree | 1a2c5ffcf89eb53ecd79dbc9bc0a195c27404d0c /library/cpp/blockcodecs | |
| parent | ce1ca0f8ad5b8231d32b35629f85bb09beea1bfb (diff) | |
Restoring authorship annotation for <[email protected]>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/blockcodecs')
28 files changed, 712 insertions, 712 deletions
| diff --git a/library/cpp/blockcodecs/README.md b/library/cpp/blockcodecs/README.md index e59beab023d..417917a475b 100644 --- a/library/cpp/blockcodecs/README.md +++ b/library/cpp/blockcodecs/README.md @@ -15,9 +15,9 @@ Streaming  =========  Use `stream.h` to obtain simple streams over block codecs (buffer data, compress them by blocks,  write to the resulting stream). -  -Using codec plugins  -===================  -If you don't want your code to bloat from unused codecs, you can use the small version of the  + +Using codec plugins +=================== +If you don't want your code to bloat from unused codecs, you can use the small version of the  library: `library/cpp/blockcodecs/core`. In that case, you need to manually set `PEERDIR()`s to  needed codecs (i.e. `PEERDIR(library/cpp/blockcodecs/codecs/lzma)`). diff --git a/library/cpp/blockcodecs/codecs.cpp b/library/cpp/blockcodecs/codecs.cpp index 7690558f60d..fdec4809d37 100644 --- a/library/cpp/blockcodecs/codecs.cpp +++ b/library/cpp/blockcodecs/codecs.cpp @@ -1 +1 @@ -#include "codecs.h"  +#include "codecs.h" diff --git a/library/cpp/blockcodecs/codecs.h b/library/cpp/blockcodecs/codecs.h index 1343ca31ace..fd499b54b0d 100644 --- a/library/cpp/blockcodecs/codecs.h +++ b/library/cpp/blockcodecs/codecs.h @@ -1,3 +1,3 @@ -#pragma once  -  +#pragma once +  #include <library/cpp/blockcodecs/core/codecs.h> diff --git a/library/cpp/blockcodecs/codecs/brotli/brotli.cpp b/library/cpp/blockcodecs/codecs/brotli/brotli.cpp index ed16c426b54..6e3cd971bdc 100644 --- a/library/cpp/blockcodecs/codecs/brotli/brotli.cpp +++ b/library/cpp/blockcodecs/codecs/brotli/brotli.cpp @@ -1,67 +1,67 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#include <contrib/libs/brotli/include/brotli/encode.h>  -#include <contrib/libs/brotli/include/brotli/decode.h>  -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TBrotliCodec : public TAddLengthCodec<TBrotliCodec> {  -        static constexpr int BEST_QUALITY = 11;  -  -        inline TBrotliCodec(ui32 level)  -            : Quality(level)  + +#include <contrib/libs/brotli/include/brotli/encode.h> +#include <contrib/libs/brotli/include/brotli/decode.h> + +using namespace NBlockCodecs; + +namespace { +    struct TBrotliCodec : public TAddLengthCodec<TBrotliCodec> { +        static constexpr int BEST_QUALITY = 11; + +        inline TBrotliCodec(ui32 level) +            : Quality(level)              , MyName(TStringBuf("brotli_") + ToString(level)) -        {  -        }  -  -        static inline size_t DoMaxCompressedLength(size_t l) noexcept {  -            return BrotliEncoderMaxCompressedSize(l);  -        }  -  -        inline size_t DoCompress(const TData& in, void* out) const {  -            size_t resultSize = MaxCompressedLength(in);  -            auto result = BrotliEncoderCompress(  -                                /*quality*/ Quality,  -                                /*window*/ BROTLI_DEFAULT_WINDOW,  -                                /*mode*/ BrotliEncoderMode::BROTLI_MODE_GENERIC,  -                                /*input_size*/ in.size(),  -                                /*input_buffer*/ (const unsigned char*)(in.data()),  -                                /*encoded_size*/ &resultSize,  -                                /*encoded_buffer*/ static_cast<unsigned char*>(out));  -            if (result != BROTLI_TRUE) {  -                ythrow yexception() << "internal brotli error during compression";  -            }  -  -            return resultSize;  -        }  -  -        inline void DoDecompress(const TData& in, void* out, size_t dsize) const {  -            size_t decoded = dsize;  -            auto result = BrotliDecoderDecompress(in.size(), (const unsigned char*)in.data(), &decoded, static_cast<unsigned char*>(out));  -            if (result != BROTLI_DECODER_RESULT_SUCCESS) {  -                ythrow yexception() << "internal brotli error during decompression";  -            } else if (decoded != dsize) {  -                ythrow TDecompressError(dsize, decoded);  -            }  -        }  -  -        TStringBuf Name() const noexcept override {  -            return MyName;  -        }  -  -        const int Quality = BEST_QUALITY;  -        const TString MyName;  -    };  -  -    struct TBrotliRegistrar {  -        TBrotliRegistrar() {  -            for (int i = 1; i <= TBrotliCodec::BEST_QUALITY; ++i) {  +        { +        } + +        static inline size_t DoMaxCompressedLength(size_t l) noexcept { +            return BrotliEncoderMaxCompressedSize(l); +        } + +        inline size_t DoCompress(const TData& in, void* out) const { +            size_t resultSize = MaxCompressedLength(in); +            auto result = BrotliEncoderCompress( +                                /*quality*/ Quality, +                                /*window*/ BROTLI_DEFAULT_WINDOW, +                                /*mode*/ BrotliEncoderMode::BROTLI_MODE_GENERIC, +                                /*input_size*/ in.size(), +                                /*input_buffer*/ (const unsigned char*)(in.data()), +                                /*encoded_size*/ &resultSize, +                                /*encoded_buffer*/ static_cast<unsigned char*>(out)); +            if (result != BROTLI_TRUE) { +                ythrow yexception() << "internal brotli error during compression"; +            } + +            return resultSize; +        } + +        inline void DoDecompress(const TData& in, void* out, size_t dsize) const { +            size_t decoded = dsize; +            auto result = BrotliDecoderDecompress(in.size(), (const unsigned char*)in.data(), &decoded, static_cast<unsigned char*>(out)); +            if (result != BROTLI_DECODER_RESULT_SUCCESS) { +                ythrow yexception() << "internal brotli error during decompression"; +            } else if (decoded != dsize) { +                ythrow TDecompressError(dsize, decoded); +            } +        } + +        TStringBuf Name() const noexcept override { +            return MyName; +        } + +        const int Quality = BEST_QUALITY; +        const TString MyName; +    }; + +    struct TBrotliRegistrar { +        TBrotliRegistrar() { +            for (int i = 1; i <= TBrotliCodec::BEST_QUALITY; ++i) {                  RegisterCodec(MakeHolder<TBrotliCodec>(i)); -            }  -        }  -    };  +            } +        } +    };      const TBrotliRegistrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs/brotli/ya.make b/library/cpp/blockcodecs/codecs/brotli/ya.make index 6425fc990ac..17aff0bb722 100644 --- a/library/cpp/blockcodecs/codecs/brotli/ya.make +++ b/library/cpp/blockcodecs/codecs/brotli/ya.make @@ -1,15 +1,15 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/brotli/enc  -    contrib/libs/brotli/dec  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/brotli/enc +    contrib/libs/brotli/dec      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL brotli.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL brotli.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/bzip/bzip.cpp b/library/cpp/blockcodecs/codecs/bzip/bzip.cpp index 851c1447c37..3a5cfdd0e9a 100644 --- a/library/cpp/blockcodecs/codecs/bzip/bzip.cpp +++ b/library/cpp/blockcodecs/codecs/bzip/bzip.cpp @@ -1,62 +1,62 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#include <contrib/libs/libbz2/bzlib.h>  -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TBZipCodec: public TAddLengthCodec<TBZipCodec> {  -        inline TBZipCodec(int level)  -            : Level(level)  -            , MyName("bzip2-" + ToString(Level))  -        {  -        }  -  -        static inline size_t DoMaxCompressedLength(size_t in) noexcept {  -            // very strange  -            return in * 2 + 128;  -        }  -  -        TStringBuf Name() const noexcept override {  -            return MyName;  -        }  -  -        inline size_t DoCompress(const TData& in, void* buf) const {  -            unsigned int ret = DoMaxCompressedLength(in.size());  -            const int res = BZ2_bzBuffToBuffCompress((char*)buf, &ret, (char*)in.data(), in.size(), Level, 0, 0);  -            if (res != BZ_OK) {  -                ythrow TCompressError(res);  -            }  -  -            return ret;  -        }  -  -        inline void DoDecompress(const TData& in, void* out, size_t len) const {  -            unsigned int tmp = SafeIntegerCast<unsigned int>(len);  -            const int res = BZ2_bzBuffToBuffDecompress((char*)out, &tmp, (char*)in.data(), in.size(), 0, 0);  -  -            if (res != BZ_OK) {  -                ythrow TDecompressError(res);  -            }  -  -            if (len != tmp) {  -                ythrow TDecompressError(len, tmp);  -            }  -        }  -  -        const int Level;  -        const TString MyName;  -    };  -  -    struct TBZipRegistrar {  -        TBZipRegistrar() {  -            for (int i = 1; i < 10; ++i) {  + +#include <contrib/libs/libbz2/bzlib.h> + +using namespace NBlockCodecs; + +namespace { +    struct TBZipCodec: public TAddLengthCodec<TBZipCodec> { +        inline TBZipCodec(int level) +            : Level(level) +            , MyName("bzip2-" + ToString(Level)) +        { +        } + +        static inline size_t DoMaxCompressedLength(size_t in) noexcept { +            // very strange +            return in * 2 + 128; +        } + +        TStringBuf Name() const noexcept override { +            return MyName; +        } + +        inline size_t DoCompress(const TData& in, void* buf) const { +            unsigned int ret = DoMaxCompressedLength(in.size()); +            const int res = BZ2_bzBuffToBuffCompress((char*)buf, &ret, (char*)in.data(), in.size(), Level, 0, 0); +            if (res != BZ_OK) { +                ythrow TCompressError(res); +            } + +            return ret; +        } + +        inline void DoDecompress(const TData& in, void* out, size_t len) const { +            unsigned int tmp = SafeIntegerCast<unsigned int>(len); +            const int res = BZ2_bzBuffToBuffDecompress((char*)out, &tmp, (char*)in.data(), in.size(), 0, 0); + +            if (res != BZ_OK) { +                ythrow TDecompressError(res); +            } + +            if (len != tmp) { +                ythrow TDecompressError(len, tmp); +            } +        } + +        const int Level; +        const TString MyName; +    }; + +    struct TBZipRegistrar { +        TBZipRegistrar() { +            for (int i = 1; i < 10; ++i) {                  RegisterCodec(MakeHolder<TBZipCodec>(i)); -            }  -            RegisterAlias("bzip2", "bzip2-6");  -        }  -    };  +            } +            RegisterAlias("bzip2", "bzip2-6"); +        } +    };      const TBZipRegistrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs/bzip/ya.make b/library/cpp/blockcodecs/codecs/bzip/ya.make index ddf2f7b29f3..f0a8aefd62d 100644 --- a/library/cpp/blockcodecs/codecs/bzip/ya.make +++ b/library/cpp/blockcodecs/codecs/bzip/ya.make @@ -1,14 +1,14 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/libbz2  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/libbz2      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL bzip.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL bzip.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/fastlz/fastlz.cpp b/library/cpp/blockcodecs/codecs/fastlz/fastlz.cpp index 1fe7bb3a7d5..da2831fbd24 100644 --- a/library/cpp/blockcodecs/codecs/fastlz/fastlz.cpp +++ b/library/cpp/blockcodecs/codecs/fastlz/fastlz.cpp @@ -1,54 +1,54 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#include <contrib/libs/fastlz/fastlz.h>  -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TFastLZCodec: public TAddLengthCodec<TFastLZCodec> {  -        inline TFastLZCodec(int level)  -            : MyName("fastlz-" + ToString(level))  -            , Level(level)  -        {  -        }  -  -        static inline size_t DoMaxCompressedLength(size_t in) noexcept {  -            return Max<size_t>(in + in / 20, 128);  -        }  -  -        TStringBuf Name() const noexcept override {  -            return MyName;  -        }  -  -        inline size_t DoCompress(const TData& in, void* buf) const {  -            if (Level) {  -                return fastlz_compress_level(Level, in.data(), in.size(), buf);  -            }  -  -            return fastlz_compress(in.data(), in.size(), buf);  -        }  -  -        inline void DoDecompress(const TData& in, void* out, size_t len) const {  -            const int ret = fastlz_decompress(in.data(), in.size(), out, len);  -  -            if (ret < 0 || (size_t)ret != len) {  + +#include <contrib/libs/fastlz/fastlz.h> + +using namespace NBlockCodecs; + +namespace { +    struct TFastLZCodec: public TAddLengthCodec<TFastLZCodec> { +        inline TFastLZCodec(int level) +            : MyName("fastlz-" + ToString(level)) +            , Level(level) +        { +        } + +        static inline size_t DoMaxCompressedLength(size_t in) noexcept { +            return Max<size_t>(in + in / 20, 128); +        } + +        TStringBuf Name() const noexcept override { +            return MyName; +        } + +        inline size_t DoCompress(const TData& in, void* buf) const { +            if (Level) { +                return fastlz_compress_level(Level, in.data(), in.size(), buf); +            } + +            return fastlz_compress(in.data(), in.size(), buf); +        } + +        inline void DoDecompress(const TData& in, void* out, size_t len) const { +            const int ret = fastlz_decompress(in.data(), in.size(), out, len); + +            if (ret < 0 || (size_t)ret != len) {                  ythrow TDataError() << TStringBuf("can not decompress"); -            }  -        }  -  -        const TString MyName;  -        const int Level;  -    };  -  -    struct TFastLZRegistrar {  -        TFastLZRegistrar() {  -            for (int i = 0; i < 3; ++i) {  +            } +        } + +        const TString MyName; +        const int Level; +    }; + +    struct TFastLZRegistrar { +        TFastLZRegistrar() { +            for (int i = 0; i < 3; ++i) {                  RegisterCodec(MakeHolder<TFastLZCodec>(i)); -            }  -            RegisterAlias("fastlz", "fastlz-0");  -        }  -    };  +            } +            RegisterAlias("fastlz", "fastlz-0"); +        } +    };      const TFastLZRegistrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs/fastlz/ya.make b/library/cpp/blockcodecs/codecs/fastlz/ya.make index 87bbb298cf4..59c09b329b3 100644 --- a/library/cpp/blockcodecs/codecs/fastlz/ya.make +++ b/library/cpp/blockcodecs/codecs/fastlz/ya.make @@ -1,14 +1,14 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/fastlz  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/fastlz      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL fastlz.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL fastlz.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/legacy_zstd06/legacy_zstd06.cpp b/library/cpp/blockcodecs/codecs/legacy_zstd06/legacy_zstd06.cpp index 58c48082731..042f031679c 100644 --- a/library/cpp/blockcodecs/codecs/legacy_zstd06/legacy_zstd06.cpp +++ b/library/cpp/blockcodecs/codecs/legacy_zstd06/legacy_zstd06.cpp @@ -47,12 +47,12 @@ namespace {          const TString MyName;      }; -    struct TZStd06Registrar {  -        TZStd06Registrar() {  -            for (unsigned i = 1; i <= ZSTD_maxCLevel(); ++i) {  +    struct TZStd06Registrar { +        TZStd06Registrar() { +            for (unsigned i = 1; i <= ZSTD_maxCLevel(); ++i) {                  RegisterCodec(MakeHolder<TZStd06Codec>(i)); -            }  +            }          } -    };  +    };      const TZStd06Registrar Registrar{};  } diff --git a/library/cpp/blockcodecs/codecs/legacy_zstd06/ya.make b/library/cpp/blockcodecs/codecs/legacy_zstd06/ya.make index f042befbbe1..067f7312330 100644 --- a/library/cpp/blockcodecs/codecs/legacy_zstd06/ya.make +++ b/library/cpp/blockcodecs/codecs/legacy_zstd06/ya.make @@ -1,14 +1,14 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/zstd06  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/zstd06      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL legacy_zstd06.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL legacy_zstd06.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/lz4/lz4.cpp b/library/cpp/blockcodecs/codecs/lz4/lz4.cpp index 7ece0ad448c..fbf0fe110f1 100644 --- a/library/cpp/blockcodecs/codecs/lz4/lz4.cpp +++ b/library/cpp/blockcodecs/codecs/lz4/lz4.cpp @@ -1,123 +1,123 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#include <contrib/libs/lz4/lz4.h>  -#include <contrib/libs/lz4/lz4hc.h>  -#include <contrib/libs/lz4/generated/iface.h>  -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TLz4Base {  -        static inline size_t DoMaxCompressedLength(size_t in) {  -            return LZ4_compressBound(SafeIntegerCast<int>(in));  -        }  -    };  -  -    struct TLz4FastCompress {  -        inline TLz4FastCompress(int memory)  -            : Memory(memory)  -            , Methods(LZ4Methods(Memory))  -        {  -        }  -  -        inline size_t DoCompress(const TData& in, void* buf) const {  -            return Methods->LZ4CompressLimited(in.data(), (char*)buf, in.size(), LZ4_compressBound(in.size()));  -        }  -  -        inline TString CPrefix() {  -            return "fast" + ToString(Memory);  -        }  -  -        const int Memory;  -        const TLZ4Methods* Methods;  -    };  -  -    struct TLz4BestCompress {  -        inline size_t DoCompress(const TData& in, void* buf) const {  -            return LZ4_compress_HC(in.data(), (char*)buf, in.size(), LZ4_compressBound(in.size()), 0);  -        }  -  -        static inline TString CPrefix() {  -            return "hc";  -        }  -    };  -  -    struct TLz4FastDecompress {  -        inline void DoDecompress(const TData& in, void* out, size_t len) const {  -            ssize_t res = LZ4_decompress_fast(in.data(), (char*)out, len);  -            if (res < 0) {  -                ythrow TDecompressError(res);  -            }  -        }  -  -        static inline TStringBuf DPrefix() {  + +#include <contrib/libs/lz4/lz4.h> +#include <contrib/libs/lz4/lz4hc.h> +#include <contrib/libs/lz4/generated/iface.h> + +using namespace NBlockCodecs; + +namespace { +    struct TLz4Base { +        static inline size_t DoMaxCompressedLength(size_t in) { +            return LZ4_compressBound(SafeIntegerCast<int>(in)); +        } +    }; + +    struct TLz4FastCompress { +        inline TLz4FastCompress(int memory) +            : Memory(memory) +            , Methods(LZ4Methods(Memory)) +        { +        } + +        inline size_t DoCompress(const TData& in, void* buf) const { +            return Methods->LZ4CompressLimited(in.data(), (char*)buf, in.size(), LZ4_compressBound(in.size())); +        } + +        inline TString CPrefix() { +            return "fast" + ToString(Memory); +        } + +        const int Memory; +        const TLZ4Methods* Methods; +    }; + +    struct TLz4BestCompress { +        inline size_t DoCompress(const TData& in, void* buf) const { +            return LZ4_compress_HC(in.data(), (char*)buf, in.size(), LZ4_compressBound(in.size()), 0); +        } + +        static inline TString CPrefix() { +            return "hc"; +        } +    }; + +    struct TLz4FastDecompress { +        inline void DoDecompress(const TData& in, void* out, size_t len) const { +            ssize_t res = LZ4_decompress_fast(in.data(), (char*)out, len); +            if (res < 0) { +                ythrow TDecompressError(res); +            } +        } + +        static inline TStringBuf DPrefix() {              return TStringBuf("fast"); -        }  -    };  -  -    struct TLz4SafeDecompress {  -        inline void DoDecompress(const TData& in, void* out, size_t len) const {  -            ssize_t res = LZ4_decompress_safe(in.data(), (char*)out, in.size(), len);  -            if (res < 0) {  -                ythrow TDecompressError(res);  -            }  -        }  -  -        static inline TStringBuf DPrefix() {  +        } +    }; + +    struct TLz4SafeDecompress { +        inline void DoDecompress(const TData& in, void* out, size_t len) const { +            ssize_t res = LZ4_decompress_safe(in.data(), (char*)out, in.size(), len); +            if (res < 0) { +                ythrow TDecompressError(res); +            } +        } + +        static inline TStringBuf DPrefix() {              return TStringBuf("safe"); -        }  -    };  -  -    template <class TC, class TD>  -    struct TLz4Codec: public TAddLengthCodec<TLz4Codec<TC, TD>>, public TLz4Base, public TC, public TD {  -        inline TLz4Codec()  -            : MyName("lz4-" + TC::CPrefix() + "-" + TD::DPrefix())  -        {  -        }  -  -        template <class T>  -        inline TLz4Codec(const T& t)  -            : TC(t)  -            , MyName("lz4-" + TC::CPrefix() + "-" + TD::DPrefix())  -        {  -        }  -  -        TStringBuf Name() const noexcept override {  -            return MyName;  -        }  -  -        const TString MyName;  -    };  -  -    struct TLz4Registrar {  -        TLz4Registrar() {  -            for (int i = 0; i < 30; ++i) {  -                typedef TLz4Codec<TLz4FastCompress, TLz4FastDecompress> T1;  -                typedef TLz4Codec<TLz4FastCompress, TLz4SafeDecompress> T2;  -  -                THolder<T1> t1(new T1(i));  -                THolder<T2> t2(new T2(i));  -  -                if (t1->Methods) {  +        } +    }; + +    template <class TC, class TD> +    struct TLz4Codec: public TAddLengthCodec<TLz4Codec<TC, TD>>, public TLz4Base, public TC, public TD { +        inline TLz4Codec() +            : MyName("lz4-" + TC::CPrefix() + "-" + TD::DPrefix()) +        { +        } + +        template <class T> +        inline TLz4Codec(const T& t) +            : TC(t) +            , MyName("lz4-" + TC::CPrefix() + "-" + TD::DPrefix()) +        { +        } + +        TStringBuf Name() const noexcept override { +            return MyName; +        } + +        const TString MyName; +    }; + +    struct TLz4Registrar { +        TLz4Registrar() { +            for (int i = 0; i < 30; ++i) { +                typedef TLz4Codec<TLz4FastCompress, TLz4FastDecompress> T1; +                typedef TLz4Codec<TLz4FastCompress, TLz4SafeDecompress> T2; + +                THolder<T1> t1(new T1(i)); +                THolder<T2> t2(new T2(i)); + +                if (t1->Methods) {                      RegisterCodec(std::move(t1)); -                }  -  -                if (t2->Methods) {  +                } + +                if (t2->Methods) {                      RegisterCodec(std::move(t2)); -                }  -            }  -  +                } +            } +              RegisterCodec(MakeHolder<TLz4Codec<TLz4BestCompress, TLz4FastDecompress>>());              RegisterCodec(MakeHolder<TLz4Codec<TLz4BestCompress, TLz4SafeDecompress>>()); -  -            RegisterAlias("lz4-fast-safe", "lz4-fast14-safe");  -            RegisterAlias("lz4-fast-fast", "lz4-fast14-fast");  -            RegisterAlias("lz4", "lz4-fast-safe");  -            RegisterAlias("lz4fast", "lz4-fast-fast");  -            RegisterAlias("lz4hc", "lz4-hc-safe");  -        }  -    };  + +            RegisterAlias("lz4-fast-safe", "lz4-fast14-safe"); +            RegisterAlias("lz4-fast-fast", "lz4-fast14-fast"); +            RegisterAlias("lz4", "lz4-fast-safe"); +            RegisterAlias("lz4fast", "lz4-fast-fast"); +            RegisterAlias("lz4hc", "lz4-hc-safe"); +        } +    };      const TLz4Registrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs/lz4/ya.make b/library/cpp/blockcodecs/codecs/lz4/ya.make index 112ef8ee803..f2471d7d96f 100644 --- a/library/cpp/blockcodecs/codecs/lz4/ya.make +++ b/library/cpp/blockcodecs/codecs/lz4/ya.make @@ -1,15 +1,15 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/lz4  -    contrib/libs/lz4/generated  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/lz4 +    contrib/libs/lz4/generated      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL lz4.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL lz4.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/lzma/lzma.cpp b/library/cpp/blockcodecs/codecs/lzma/lzma.cpp index eb52842aeea..6c8d5fded42 100644 --- a/library/cpp/blockcodecs/codecs/lzma/lzma.cpp +++ b/library/cpp/blockcodecs/codecs/lzma/lzma.cpp @@ -1,74 +1,74 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#include <contrib/libs/lzmasdk/LzmaLib.h>  -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TLzmaCodec: public TAddLengthCodec<TLzmaCodec> {  -        inline TLzmaCodec(int level)  -            : Level(level)  -            , MyName("lzma-" + ToString(Level))  -        {  -        }  -  -        static inline size_t DoMaxCompressedLength(size_t in) noexcept {  -            return Max<size_t>(in + in / 20, 128) + LZMA_PROPS_SIZE;  -        }  -  -        TStringBuf Name() const noexcept override {  -            return MyName;  -        }  -  -        inline size_t DoCompress(const TData& in, void* buf) const {  -            unsigned char* props = (unsigned char*)buf;  -            unsigned char* data = props + LZMA_PROPS_SIZE;  -            size_t destLen = Max<size_t>();  -            size_t outPropsSize = LZMA_PROPS_SIZE;  -  -            const int ret = LzmaCompress(data, &destLen, (const unsigned char*)in.data(), in.size(), props, &outPropsSize, Level, 0, -1, -1, -1, -1, -1);  -  -            if (ret != SZ_OK) {  -                ythrow TCompressError(ret);  -            }  -  -            return destLen + LZMA_PROPS_SIZE;  -        }  -  -        inline void DoDecompress(const TData& in, void* out, size_t len) const {  -            if (in.size() <= LZMA_PROPS_SIZE) {  + +#include <contrib/libs/lzmasdk/LzmaLib.h> + +using namespace NBlockCodecs; + +namespace { +    struct TLzmaCodec: public TAddLengthCodec<TLzmaCodec> { +        inline TLzmaCodec(int level) +            : Level(level) +            , MyName("lzma-" + ToString(Level)) +        { +        } + +        static inline size_t DoMaxCompressedLength(size_t in) noexcept { +            return Max<size_t>(in + in / 20, 128) + LZMA_PROPS_SIZE; +        } + +        TStringBuf Name() const noexcept override { +            return MyName; +        } + +        inline size_t DoCompress(const TData& in, void* buf) const { +            unsigned char* props = (unsigned char*)buf; +            unsigned char* data = props + LZMA_PROPS_SIZE; +            size_t destLen = Max<size_t>(); +            size_t outPropsSize = LZMA_PROPS_SIZE; + +            const int ret = LzmaCompress(data, &destLen, (const unsigned char*)in.data(), in.size(), props, &outPropsSize, Level, 0, -1, -1, -1, -1, -1); + +            if (ret != SZ_OK) { +                ythrow TCompressError(ret); +            } + +            return destLen + LZMA_PROPS_SIZE; +        } + +        inline void DoDecompress(const TData& in, void* out, size_t len) const { +            if (in.size() <= LZMA_PROPS_SIZE) {                  ythrow TDataError() << TStringBuf("broken lzma stream"); -            }  -  -            const unsigned char* props = (const unsigned char*)in.data();  -            const unsigned char* data = props + LZMA_PROPS_SIZE;  -            size_t destLen = len;  -            SizeT srcLen = in.size() - LZMA_PROPS_SIZE;  -  -            const int res = LzmaUncompress((unsigned char*)out, &destLen, data, &srcLen, props, LZMA_PROPS_SIZE);  -  -            if (res != SZ_OK) {  -                ythrow TDecompressError(res);  -            }  -  -            if (destLen != len) {  -                ythrow TDecompressError(len, destLen);  -            }  -        }  -  -        const int Level;  -        const TString MyName;  -    };  -  -    struct TLzmaRegistrar {  -        TLzmaRegistrar() {  -            for (int i = 0; i < 10; ++i) {  +            } + +            const unsigned char* props = (const unsigned char*)in.data(); +            const unsigned char* data = props + LZMA_PROPS_SIZE; +            size_t destLen = len; +            SizeT srcLen = in.size() - LZMA_PROPS_SIZE; + +            const int res = LzmaUncompress((unsigned char*)out, &destLen, data, &srcLen, props, LZMA_PROPS_SIZE); + +            if (res != SZ_OK) { +                ythrow TDecompressError(res); +            } + +            if (destLen != len) { +                ythrow TDecompressError(len, destLen); +            } +        } + +        const int Level; +        const TString MyName; +    }; + +    struct TLzmaRegistrar { +        TLzmaRegistrar() { +            for (int i = 0; i < 10; ++i) {                  RegisterCodec(MakeHolder<TLzmaCodec>(i)); -            }  -            RegisterAlias("lzma", "lzma-5");  -        }  -    };  +            } +            RegisterAlias("lzma", "lzma-5"); +        } +    };      const TLzmaRegistrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs/lzma/ya.make b/library/cpp/blockcodecs/codecs/lzma/ya.make index 11f38eca71d..e145834da68 100644 --- a/library/cpp/blockcodecs/codecs/lzma/ya.make +++ b/library/cpp/blockcodecs/codecs/lzma/ya.make @@ -1,14 +1,14 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/lzmasdk  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/lzmasdk      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL lzma.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL lzma.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/snappy/snappy.cpp b/library/cpp/blockcodecs/codecs/snappy/snappy.cpp index 0cacc876deb..f6be05a05fc 100644 --- a/library/cpp/blockcodecs/codecs/snappy/snappy.cpp +++ b/library/cpp/blockcodecs/codecs/snappy/snappy.cpp @@ -1,52 +1,52 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#include <contrib/libs/snappy/snappy.h>  -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TSnappyCodec: public ICodec {  -        size_t DecompressedLength(const TData& in) const override {  -            size_t ret;  -  -            if (snappy::GetUncompressedLength(in.data(), in.size(), &ret)) {  -                return ret;  -            }  -  -            ythrow TDecompressError(0);  -        }  -  -        size_t MaxCompressedLength(const TData& in) const override {  -            return snappy::MaxCompressedLength(in.size());  -        }  -  -        size_t Compress(const TData& in, void* out) const override {  -            size_t ret;  -  -            snappy::RawCompress(in.data(), in.size(), (char*)out, &ret);  -  -            return ret;  -        }  -  -        size_t Decompress(const TData& in, void* out) const override {  -            if (snappy::RawUncompress(in.data(), in.size(), (char*)out)) {  -                return DecompressedLength(in);  -            }  -  -            ythrow TDecompressError(0);  -        }  -  -        TStringBuf Name() const noexcept override {  -            return "snappy";  -        }  -    };  -  -    struct TSnappyRegistrar {  -        TSnappyRegistrar() {  + +#include <contrib/libs/snappy/snappy.h> + +using namespace NBlockCodecs; + +namespace { +    struct TSnappyCodec: public ICodec { +        size_t DecompressedLength(const TData& in) const override { +            size_t ret; + +            if (snappy::GetUncompressedLength(in.data(), in.size(), &ret)) { +                return ret; +            } + +            ythrow TDecompressError(0); +        } + +        size_t MaxCompressedLength(const TData& in) const override { +            return snappy::MaxCompressedLength(in.size()); +        } + +        size_t Compress(const TData& in, void* out) const override { +            size_t ret; + +            snappy::RawCompress(in.data(), in.size(), (char*)out, &ret); + +            return ret; +        } + +        size_t Decompress(const TData& in, void* out) const override { +            if (snappy::RawUncompress(in.data(), in.size(), (char*)out)) { +                return DecompressedLength(in); +            } + +            ythrow TDecompressError(0); +        } + +        TStringBuf Name() const noexcept override { +            return "snappy"; +        } +    }; + +    struct TSnappyRegistrar { +        TSnappyRegistrar() {              RegisterCodec(MakeHolder<TSnappyCodec>()); -        }  -    };  +        } +    };      const TSnappyRegistrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs/snappy/ya.make b/library/cpp/blockcodecs/codecs/snappy/ya.make index d939ef648ec..0cf2be2f944 100644 --- a/library/cpp/blockcodecs/codecs/snappy/ya.make +++ b/library/cpp/blockcodecs/codecs/snappy/ya.make @@ -1,14 +1,14 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/snappy  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/snappy      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL snappy.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL snappy.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/zlib/ya.make b/library/cpp/blockcodecs/codecs/zlib/ya.make index 86944366fa8..9f04995f667 100644 --- a/library/cpp/blockcodecs/codecs/zlib/ya.make +++ b/library/cpp/blockcodecs/codecs/zlib/ya.make @@ -1,14 +1,14 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/zlib  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/zlib      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL zlib.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL zlib.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/zlib/zlib.cpp b/library/cpp/blockcodecs/codecs/zlib/zlib.cpp index 077751d21ba..cdb556c36d4 100644 --- a/library/cpp/blockcodecs/codecs/zlib/zlib.cpp +++ b/library/cpp/blockcodecs/codecs/zlib/zlib.cpp @@ -1,64 +1,64 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#include <contrib/libs/zlib/zlib.h>  -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TZLibCodec: public TAddLengthCodec<TZLibCodec> {  -        inline TZLibCodec(int level)  -            : MyName("zlib-" + ToString(level))  -            , Level(level)  -        {  -        }  -  -        static inline size_t DoMaxCompressedLength(size_t in) noexcept {  -            return compressBound(in);  -        }  -  -        TStringBuf Name() const noexcept override {  -            return MyName;  -        }  -  -        inline size_t DoCompress(const TData& in, void* buf) const {  -            //TRASH detected  -            uLong ret = Max<unsigned int>();  -  -            int cres = compress2((Bytef*)buf, &ret, (const Bytef*)in.data(), in.size(), Level);  -  -            if (cres != Z_OK) {  -                ythrow TCompressError(cres);  -            }  -  -            return ret;  -        }  -  -        inline void DoDecompress(const TData& in, void* out, size_t len) const {  -            uLong ret = len;  -  -            int uncres = uncompress((Bytef*)out, &ret, (const Bytef*)in.data(), in.size());  -            if (uncres != Z_OK) {  -                ythrow TDecompressError(uncres);  -            }  -  -            if (ret != len) {  -                ythrow TDecompressError(len, ret);  -            }  -        }  -  -        const TString MyName;  -        const int Level;  -    };  -  -    struct TZLibRegistrar {  -        TZLibRegistrar() {  -            for (int i = 0; i < 10; ++i) {  + +#include <contrib/libs/zlib/zlib.h> + +using namespace NBlockCodecs; + +namespace { +    struct TZLibCodec: public TAddLengthCodec<TZLibCodec> { +        inline TZLibCodec(int level) +            : MyName("zlib-" + ToString(level)) +            , Level(level) +        { +        } + +        static inline size_t DoMaxCompressedLength(size_t in) noexcept { +            return compressBound(in); +        } + +        TStringBuf Name() const noexcept override { +            return MyName; +        } + +        inline size_t DoCompress(const TData& in, void* buf) const { +            //TRASH detected +            uLong ret = Max<unsigned int>(); + +            int cres = compress2((Bytef*)buf, &ret, (const Bytef*)in.data(), in.size(), Level); + +            if (cres != Z_OK) { +                ythrow TCompressError(cres); +            } + +            return ret; +        } + +        inline void DoDecompress(const TData& in, void* out, size_t len) const { +            uLong ret = len; + +            int uncres = uncompress((Bytef*)out, &ret, (const Bytef*)in.data(), in.size()); +            if (uncres != Z_OK) { +                ythrow TDecompressError(uncres); +            } + +            if (ret != len) { +                ythrow TDecompressError(len, ret); +            } +        } + +        const TString MyName; +        const int Level; +    }; + +    struct TZLibRegistrar { +        TZLibRegistrar() { +            for (int i = 0; i < 10; ++i) {                  RegisterCodec(MakeHolder<TZLibCodec>(i)); -            }  -            RegisterAlias("zlib", "zlib-6");  -        }  -    };  +            } +            RegisterAlias("zlib", "zlib-6"); +        } +    };      const TZLibRegistrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs/zstd/ya.make b/library/cpp/blockcodecs/codecs/zstd/ya.make index 67435b71b2a..c077dd47b74 100644 --- a/library/cpp/blockcodecs/codecs/zstd/ya.make +++ b/library/cpp/blockcodecs/codecs/zstd/ya.make @@ -1,14 +1,14 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  -    contrib/libs/zstd  +LIBRARY() + +OWNER(pg) + +PEERDIR( +    contrib/libs/zstd      library/cpp/blockcodecs/core -)  -  -SRCS(  -    GLOBAL zstd.cpp  -)  -  -END()  +) + +SRCS( +    GLOBAL zstd.cpp +) + +END() diff --git a/library/cpp/blockcodecs/codecs/zstd/zstd.cpp b/library/cpp/blockcodecs/codecs/zstd/zstd.cpp index 158747c52c2..95299b3f6d3 100644 --- a/library/cpp/blockcodecs/codecs/zstd/zstd.cpp +++ b/library/cpp/blockcodecs/codecs/zstd/zstd.cpp @@ -1,59 +1,59 @@  #include <library/cpp/blockcodecs/core/codecs.h>  #include <library/cpp/blockcodecs/core/common.h>  #include <library/cpp/blockcodecs/core/register.h> -  -#define ZSTD_STATIC_LINKING_ONLY  + +#define ZSTD_STATIC_LINKING_ONLY  #include <contrib/libs/zstd/include/zstd.h> -  -using namespace NBlockCodecs;  -  -namespace {  -    struct TZStd08Codec: public TAddLengthCodec<TZStd08Codec> {  -        inline TZStd08Codec(unsigned level)  -            : Level(level)  + +using namespace NBlockCodecs; + +namespace { +    struct TZStd08Codec: public TAddLengthCodec<TZStd08Codec> { +        inline TZStd08Codec(unsigned level) +            : Level(level)              , MyName(TStringBuf("zstd08_") + ToString(Level)) -        {  -        }  -  -        static inline size_t CheckError(size_t ret, const char* what) {  -            if (ZSTD_isError(ret)) {  +        { +        } + +        static inline size_t CheckError(size_t ret, const char* what) { +            if (ZSTD_isError(ret)) {                  ythrow yexception() << what << TStringBuf(" zstd error: ") << ZSTD_getErrorName(ret); -            }  -  -            return ret;  -        }  -  -        static inline size_t DoMaxCompressedLength(size_t l) noexcept {  -            return ZSTD_compressBound(l);  -        }  -  -        inline size_t DoCompress(const TData& in, void* out) const {  -            return CheckError(ZSTD_compress(out, DoMaxCompressedLength(in.size()), in.data(), in.size(), Level), "compress");  -        }  -  -        inline void DoDecompress(const TData& in, void* out, size_t dsize) const {  -            const size_t res = CheckError(ZSTD_decompress(out, dsize, in.data(), in.size()), "decompress");  -  -            if (res != dsize) {  -                ythrow TDecompressError(dsize, res);  -            }  -        }  -  -        TStringBuf Name() const noexcept override {  -            return MyName;  -        }  -  -        const unsigned Level;  -        const TString MyName;  -    };  -  -    struct TZStd08Registrar {  -        TZStd08Registrar() {  -            for (int i = 1; i <= ZSTD_maxCLevel(); ++i) {  +            } + +            return ret; +        } + +        static inline size_t DoMaxCompressedLength(size_t l) noexcept { +            return ZSTD_compressBound(l); +        } + +        inline size_t DoCompress(const TData& in, void* out) const { +            return CheckError(ZSTD_compress(out, DoMaxCompressedLength(in.size()), in.data(), in.size(), Level), "compress"); +        } + +        inline void DoDecompress(const TData& in, void* out, size_t dsize) const { +            const size_t res = CheckError(ZSTD_decompress(out, dsize, in.data(), in.size()), "decompress"); + +            if (res != dsize) { +                ythrow TDecompressError(dsize, res); +            } +        } + +        TStringBuf Name() const noexcept override { +            return MyName; +        } + +        const unsigned Level; +        const TString MyName; +    }; + +    struct TZStd08Registrar { +        TZStd08Registrar() { +            for (int i = 1; i <= ZSTD_maxCLevel(); ++i) {                  RegisterCodec(MakeHolder<TZStd08Codec>(i)); -                RegisterAlias("zstd_" + ToString(i), "zstd08_" + ToString(i));  -            }  -        }  -    };  +                RegisterAlias("zstd_" + ToString(i), "zstd08_" + ToString(i)); +            } +        } +    };      const TZStd08Registrar Registrar{}; -}  +} diff --git a/library/cpp/blockcodecs/codecs_ut.cpp b/library/cpp/blockcodecs/codecs_ut.cpp index 10559e4c3fc..bfe5a236909 100644 --- a/library/cpp/blockcodecs/codecs_ut.cpp +++ b/library/cpp/blockcodecs/codecs_ut.cpp @@ -4,7 +4,7 @@  #include <library/cpp/testing/unittest/registar.h>  #include <util/stream/str.h> -#include <util/string/join.h>  +#include <util/string/join.h>  #include <util/digest/multi.h>  Y_UNIT_TEST_SUITE(TBlockCodecsTest) { @@ -290,40 +290,40 @@ Y_UNIT_TEST_SUITE(TBlockCodecsTest) {          // restore status quo          SetMaxPossibleDecompressedLength(Max<size_t>());      } -  -    Y_UNIT_TEST(TestListAllCodecs) {  -        static const TString ALL_CODECS =  -            "brotli_1,brotli_10,brotli_11,brotli_2,brotli_3,brotli_4,brotli_5,brotli_6,brotli_7,brotli_8,brotli_9,"  -  -            "bzip2,bzip2-1,bzip2-2,bzip2-3,bzip2-4,bzip2-5,bzip2-6,bzip2-7,bzip2-8,bzip2-9,"  -  -            "fastlz,fastlz-0,fastlz-1,fastlz-2,"  -  -            "lz4,lz4-fast-fast,lz4-fast-safe,lz4-fast10-fast,lz4-fast10-safe,lz4-fast11-fast,lz4-fast11-safe,"  -            "lz4-fast12-fast,lz4-fast12-safe,lz4-fast13-fast,lz4-fast13-safe,lz4-fast14-fast,lz4-fast14-safe,"  -            "lz4-fast15-fast,lz4-fast15-safe,lz4-fast16-fast,lz4-fast16-safe,lz4-fast17-fast,lz4-fast17-safe,"  -            "lz4-fast18-fast,lz4-fast18-safe,lz4-fast19-fast,lz4-fast19-safe,lz4-fast20-fast,lz4-fast20-safe,"  -            "lz4-hc-fast,lz4-hc-safe,lz4fast,lz4hc,"  -  -            "lzma,lzma-0,lzma-1,lzma-2,lzma-3,lzma-4,lzma-5,lzma-6,lzma-7,lzma-8,lzma-9,"  -  -            "null,"  -  -            "snappy,"  -  -            "zlib,zlib-0,zlib-1,zlib-2,zlib-3,zlib-4,zlib-5,zlib-6,zlib-7,zlib-8,zlib-9,"  -  -            "zstd06_1,zstd06_10,zstd06_11,zstd06_12,zstd06_13,zstd06_14,zstd06_15,zstd06_16,zstd06_17,zstd06_18,"  -            "zstd06_19,zstd06_2,zstd06_20,zstd06_21,zstd06_22,zstd06_3,zstd06_4,zstd06_5,zstd06_6,zstd06_7,zstd06_8,"  -            "zstd06_9,"  -  -            "zstd08_1,zstd08_10,zstd08_11,zstd08_12,zstd08_13,zstd08_14,zstd08_15,zstd08_16,zstd08_17,zstd08_18,"  -            "zstd08_19,zstd08_2,zstd08_20,zstd08_21,zstd08_22,zstd08_3,zstd08_4,zstd08_5,zstd08_6,zstd08_7,zstd08_8,"  -            "zstd08_9,zstd_1,zstd_10,zstd_11,zstd_12,zstd_13,zstd_14,zstd_15,zstd_16,zstd_17,zstd_18,zstd_19,zstd_2,"  -            "zstd_20,zstd_21,zstd_22,zstd_3,zstd_4,zstd_5,zstd_6,zstd_7,zstd_8,zstd_9";  -  -        UNIT_ASSERT_VALUES_EQUAL(ALL_CODECS, JoinSeq(",", ListAllCodecs()));  -    }  + +    Y_UNIT_TEST(TestListAllCodecs) { +        static const TString ALL_CODECS = +            "brotli_1,brotli_10,brotli_11,brotli_2,brotli_3,brotli_4,brotli_5,brotli_6,brotli_7,brotli_8,brotli_9," + +            "bzip2,bzip2-1,bzip2-2,bzip2-3,bzip2-4,bzip2-5,bzip2-6,bzip2-7,bzip2-8,bzip2-9," + +            "fastlz,fastlz-0,fastlz-1,fastlz-2," + +            "lz4,lz4-fast-fast,lz4-fast-safe,lz4-fast10-fast,lz4-fast10-safe,lz4-fast11-fast,lz4-fast11-safe," +            "lz4-fast12-fast,lz4-fast12-safe,lz4-fast13-fast,lz4-fast13-safe,lz4-fast14-fast,lz4-fast14-safe," +            "lz4-fast15-fast,lz4-fast15-safe,lz4-fast16-fast,lz4-fast16-safe,lz4-fast17-fast,lz4-fast17-safe," +            "lz4-fast18-fast,lz4-fast18-safe,lz4-fast19-fast,lz4-fast19-safe,lz4-fast20-fast,lz4-fast20-safe," +            "lz4-hc-fast,lz4-hc-safe,lz4fast,lz4hc," + +            "lzma,lzma-0,lzma-1,lzma-2,lzma-3,lzma-4,lzma-5,lzma-6,lzma-7,lzma-8,lzma-9," + +            "null," + +            "snappy," + +            "zlib,zlib-0,zlib-1,zlib-2,zlib-3,zlib-4,zlib-5,zlib-6,zlib-7,zlib-8,zlib-9," + +            "zstd06_1,zstd06_10,zstd06_11,zstd06_12,zstd06_13,zstd06_14,zstd06_15,zstd06_16,zstd06_17,zstd06_18," +            "zstd06_19,zstd06_2,zstd06_20,zstd06_21,zstd06_22,zstd06_3,zstd06_4,zstd06_5,zstd06_6,zstd06_7,zstd06_8," +            "zstd06_9," + +            "zstd08_1,zstd08_10,zstd08_11,zstd08_12,zstd08_13,zstd08_14,zstd08_15,zstd08_16,zstd08_17,zstd08_18," +            "zstd08_19,zstd08_2,zstd08_20,zstd08_21,zstd08_22,zstd08_3,zstd08_4,zstd08_5,zstd08_6,zstd08_7,zstd08_8," +            "zstd08_9,zstd_1,zstd_10,zstd_11,zstd_12,zstd_13,zstd_14,zstd_15,zstd_16,zstd_17,zstd_18,zstd_19,zstd_2," +            "zstd_20,zstd_21,zstd_22,zstd_3,zstd_4,zstd_5,zstd_6,zstd_7,zstd_8,zstd_9"; + +        UNIT_ASSERT_VALUES_EQUAL(ALL_CODECS, JoinSeq(",", ListAllCodecs())); +    }      Y_UNIT_TEST(TestEncodeDecodeIntoString) {          TStringBuf data = "na gorshke sidel korol"; diff --git a/library/cpp/blockcodecs/core/codecs.cpp b/library/cpp/blockcodecs/core/codecs.cpp index d9eed9ca8ff..21506e812b4 100644 --- a/library/cpp/blockcodecs/core/codecs.cpp +++ b/library/cpp/blockcodecs/core/codecs.cpp @@ -1,6 +1,6 @@  #include "codecs.h"  #include "common.h" -#include "register.h"  +#include "register.h"  #include <util/ysaveload.h>  #include <util/stream/null.h> @@ -49,11 +49,11 @@ namespace {              Registry[codec->Name()] = codec;          } -        inline void Add(TCodecPtr codec) {  -            Codecs.push_back(std::move(codec));  -            Add(Codecs.back().Get());  -        }  -  +        inline void Add(TCodecPtr codec) { +            Codecs.push_back(std::move(codec)); +            Add(Codecs.back().Get()); +        } +          inline void Alias(TStringBuf from, TStringBuf to) {              Tmp.emplace_back(from);              Registry[Tmp.back()] = Registry[to]; @@ -86,14 +86,14 @@ TString NBlockCodecs::ListAllCodecsAsString() {      return JoinSeq(TStringBuf(","), ListAllCodecs());  } -void NBlockCodecs::RegisterCodec(TCodecPtr codec) {  -    Singleton<TCodecFactory>()->Add(std::move(codec));  -}  -  -void NBlockCodecs::RegisterAlias(TStringBuf from, TStringBuf to) {  -    Singleton<TCodecFactory>()->Alias(from, to);  -}  -  +void NBlockCodecs::RegisterCodec(TCodecPtr codec) { +    Singleton<TCodecFactory>()->Add(std::move(codec)); +} + +void NBlockCodecs::RegisterAlias(TStringBuf from, TStringBuf to) { +    Singleton<TCodecFactory>()->Alias(from, to); +} +  void NBlockCodecs::SetMaxPossibleDecompressedLength(size_t maxPossibleDecompressedLength) {      Singleton<TCodecFactory>()->MaxPossibleDecompressedLength = maxPossibleDecompressedLength;  } diff --git a/library/cpp/blockcodecs/core/codecs.h b/library/cpp/blockcodecs/core/codecs.h index 2662759b9ae..9c93c002748 100644 --- a/library/cpp/blockcodecs/core/codecs.h +++ b/library/cpp/blockcodecs/core/codecs.h @@ -73,8 +73,8 @@ namespace NBlockCodecs {          size_t GetDecompressedLength(const TData& in) const;      }; -    using TCodecPtr = THolder<ICodec>;  -  +    using TCodecPtr = THolder<ICodec>; +      const ICodec* Codec(const TStringBuf& name);      // some aux methods diff --git a/library/cpp/blockcodecs/core/register.h b/library/cpp/blockcodecs/core/register.h index 632a41e4a80..fa1186dd705 100644 --- a/library/cpp/blockcodecs/core/register.h +++ b/library/cpp/blockcodecs/core/register.h @@ -1,10 +1,10 @@ -#pragma once  -  -#include "codecs.h"  -  -namespace NBlockCodecs{  -  -    void RegisterCodec(TCodecPtr codec);  -    void RegisterAlias(TStringBuf from, TStringBuf to);  -  -}  +#pragma once + +#include "codecs.h" + +namespace NBlockCodecs{ + +    void RegisterCodec(TCodecPtr codec); +    void RegisterAlias(TStringBuf from, TStringBuf to); + +} diff --git a/library/cpp/blockcodecs/stream.cpp b/library/cpp/blockcodecs/stream.cpp index 4ad6b2cb3fb..65e61e92214 100644 --- a/library/cpp/blockcodecs/stream.cpp +++ b/library/cpp/blockcodecs/stream.cpp @@ -1 +1 @@ -#include "stream.h"  +#include "stream.h" diff --git a/library/cpp/blockcodecs/stream.h b/library/cpp/blockcodecs/stream.h index 45aea32525b..96c479cf7e1 100644 --- a/library/cpp/blockcodecs/stream.h +++ b/library/cpp/blockcodecs/stream.h @@ -1,3 +1,3 @@ -#pragma once  -  +#pragma once +  #include <library/cpp/blockcodecs/core/stream.h> diff --git a/library/cpp/blockcodecs/ya.make b/library/cpp/blockcodecs/ya.make index 32c6d35c511..b8f03d5421c 100644 --- a/library/cpp/blockcodecs/ya.make +++ b/library/cpp/blockcodecs/ya.make @@ -1,8 +1,8 @@ -LIBRARY()  -  -OWNER(pg)  -  -PEERDIR(  +LIBRARY() + +OWNER(pg) + +PEERDIR(      library/cpp/blockcodecs/core      library/cpp/blockcodecs/codecs/brotli      library/cpp/blockcodecs/codecs/bzip @@ -13,14 +13,14 @@ PEERDIR(      library/cpp/blockcodecs/codecs/snappy      library/cpp/blockcodecs/codecs/zlib      library/cpp/blockcodecs/codecs/zstd -)  -  -SRCS(  -    codecs.cpp  -    stream.cpp  -)  -  -END()  +) + +SRCS( +    codecs.cpp +    stream.cpp +) + +END()  RECURSE_FOR_TESTS(      ut | 
