LCOV - code coverage report
Current view: top level - source/extensions/compression/zstd/decompressor - config.cc (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 0 18 0.0 %
Date: 2024-01-05 06:35:25 Functions: 0 4 0.0 %

          Line data    Source code
       1             : #include "source/extensions/compression/zstd/decompressor/config.h"
       2             : 
       3             : namespace Envoy {
       4             : namespace Extensions {
       5             : namespace Compression {
       6             : namespace Zstd {
       7             : namespace Decompressor {
       8             : 
       9             : ZstdDecompressorFactory::ZstdDecompressorFactory(
      10             :     const envoy::extensions::compression::zstd::decompressor::v3::Zstd& zstd, Stats::Scope& scope,
      11             :     Event::Dispatcher& dispatcher, Api::Api& api, ThreadLocal::SlotAllocator& tls)
      12             :     : scope_(scope),
      13           0 :       chunk_size_(PROTOBUF_GET_WRAPPED_OR_DEFAULT(zstd, chunk_size, ZSTD_DStreamOutSize())) {
      14           0 :   if (zstd.dictionaries_size() > 0) {
      15           0 :     ddict_manager_ = std::make_unique<ZstdDDictManager>(
      16           0 :         zstd.dictionaries(), dispatcher, api, tls, false,
      17           0 :         [](const void* dict_buffer, size_t dict_size) -> ZSTD_DDict* {
      18           0 :           return ZSTD_createDDict(dict_buffer, dict_size);
      19           0 :         });
      20           0 :   }
      21           0 : }
      22             : 
      23             : Envoy::Compression::Decompressor::DecompressorPtr
      24           0 : ZstdDecompressorFactory::createDecompressor(const std::string& stats_prefix) {
      25           0 :   return std::make_unique<ZstdDecompressorImpl>(scope_, stats_prefix, ddict_manager_, chunk_size_);
      26           0 : }
      27             : 
      28             : Envoy::Compression::Decompressor::DecompressorFactoryPtr
      29             : ZstdDecompressorLibraryFactory::createDecompressorFactoryFromProtoTyped(
      30             :     const envoy::extensions::compression::zstd::decompressor::v3::Zstd& proto_config,
      31           0 :     Server::Configuration::FactoryContext& context) {
      32           0 :   auto& server_context = context.serverFactoryContext();
      33           0 :   return std::make_unique<ZstdDecompressorFactory>(
      34           0 :       proto_config, context.scope(), server_context.mainThreadDispatcher(), server_context.api(),
      35           0 :       server_context.threadLocal());
      36           0 : }
      37             : 
      38             : /**
      39             :  * Static registration for the zstd decompressor. @see NamedDecompressorLibraryConfigFactory.
      40             :  */
      41             : REGISTER_FACTORY(ZstdDecompressorLibraryFactory,
      42             :                  Envoy::Compression::Decompressor::NamedDecompressorLibraryConfigFactory);
      43             : } // namespace Decompressor
      44             : } // namespace Zstd
      45             : } // namespace Compression
      46             : } // namespace Extensions
      47             : } // namespace Envoy

Generated by: LCOV version 1.15