#include "include/encoding.h"
#include "compressor/Compressor.h"
- #define COMPRESSION_LEVEL 5
-
class ZstdCompressor : public Compressor {
public:
- ZstdCompressor() : Compressor(COMP_ALG_ZSTD, "zstd") {}
+ ZstdCompressor(CephContext *cct) : Compressor(COMP_ALG_ZSTD, "zstd"), cct(cct) {}
- int compress(const bufferlist &src, bufferlist &dst) override {
+ int compress(const ceph::buffer::list &src, ceph::buffer::list &dst) override {
ZSTD_CStream *s = ZSTD_createCStream();
- ZSTD_initCStream_srcSize(s, COMPRESSION_LEVEL, src.length());
+ ZSTD_initCStream_srcSize(s, cct->_conf->compressor_zstd_level, src.length());
auto p = src.begin();
size_t left = src.length();