aboutsummaryrefslogtreecommitdiff
path: root/lib/compressionctx.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compressionctx.h')
-rw-r--r--lib/compressionctx.h42
1 files changed, 0 insertions, 42 deletions
diff --git a/lib/compressionctx.h b/lib/compressionctx.h
deleted file mode 100644
index a07686f..0000000
--- a/lib/compressionctx.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#include <span>
-#include <vector>
-#include <cstdint>
-#include <memory>
-
-#pragma once
-
-namespace embed
-{
-
-enum Compression {
- None,
- Zstd
-};
-
-class CompressionCtx
-{
-public:
- virtual ~CompressionCtx() = default;
- [[nodiscard]] virtual std::vector<uint8_t> decompress(const std::span<const uint8_t> &entry) const = 0;
-};
-
-class ZstdCompressionCtx final : public CompressionCtx
-{
-public:
- ZstdCompressionCtx(const std::span<const uint8_t> &dictionary);
- ~ZstdCompressionCtx();
- [[nodiscard]] std::vector<uint8_t> decompress(const std::span<const uint8_t> &entry) const override;
-};
-
-std::unique_ptr<CompressionCtx> make_compression_ctx(const Compression algo, const std::span<const uint8_t> &dict)
-{
- switch(algo)
- {
- case None:
- return nullptr;
- case Zstd:
- return std::make_unique<ZstdCompressionCtx>(dict);
- }
-}
-
-} // namespace embed