const std::string& type,
const std::string& name)
{
- PluginRegistry *instance = cct->get_plugin_registry();
+ auto instance = cct->get_plugin_registry();
return instance->add(type, name, new CompressionPluginLZ4(cct));
}
#include "LZ4Compressor.h"
// -----------------------------------------------------------------------------
-class CompressionPluginLZ4 : public CompressionPlugin {
+class CompressionPluginLZ4 : public ceph::CompressionPlugin {
public:
#endif
}
- int compress(const bufferlist &src, bufferlist &dst) override {
+ int compress(const ceph::buffer::list &src, ceph::buffer::list &dst) override {
// older versions of liblz4 introduce bit errors when compressing
// fragmented buffers. this was fixed in lz4 commit
// af127334670a5e7b710bbd6adb71aa7c3ef0cd72, which first
//
// workaround: rebuild if not contiguous.
if (!src.is_contiguous()) {
- bufferlist new_src = src;
+ ceph::buffer::list new_src = src;
new_src.rebuild();
return compress(new_src, dst);
}
if (qat_enabled)
return qat_accel.compress(src, dst);
#endif
- bufferptr outptr = buffer::create_small_page_aligned(
+ ceph::buffer::ptr outptr = ceph::buffer::create_small_page_aligned(
LZ4_compressBound(src.length()));
LZ4_stream_t lz4_stream;
LZ4_resetStream(&lz4_stream);
+ using ceph::encode;
+
auto p = src.begin();
size_t left = src.length();
int pos = 0;
return 0;
}
- int decompress(const bufferlist &src, bufferlist &dst) override {
+ int decompress(const ceph::buffer::list &src, ceph::buffer::list &dst) override {
#ifdef HAVE_QATZIP
if (qat_enabled)
return qat_accel.decompress(src, dst);
return decompress(i, src.length(), dst);
}
- int decompress(bufferlist::const_iterator &p,
+ int decompress(ceph::buffer::list::const_iterator &p,
size_t compressed_len,
- bufferlist &dst) override {
+ ceph::buffer::list &dst) override {
#ifdef HAVE_QATZIP
if (qat_enabled)
return qat_accel.decompress(p, compressed_len, dst);
#endif
+ using ceph::decode;
uint32_t count;
std::vector<std::pair<uint32_t, uint32_t> > compressed_pairs;
decode(count, p);
}
compressed_len -= (sizeof(uint32_t) + sizeof(uint32_t) * count * 2);
- bufferptr dstptr(total_origin);
+ ceph::buffer::ptr dstptr(total_origin);
LZ4_streamDecode_t lz4_stream_decode;
LZ4_setStreamDecode(&lz4_stream_decode, nullptr, 0);
- bufferptr cur_ptr = p.get_current_ptr();
- bufferptr *ptr = &cur_ptr;
- Tub<bufferptr> data_holder;
+ ceph::buffer::ptr cur_ptr = p.get_current_ptr();
+ ceph::buffer::ptr *ptr = &cur_ptr;
+ Tub<ceph::buffer::ptr> data_holder;
if (compressed_len != cur_ptr.length()) {
data_holder.construct(compressed_len);
p.copy_deep(compressed_len, *data_holder);
const std::string& type,
const std::string& name)
{
- PluginRegistry *instance = cct->get_plugin_registry();
+ auto instance = cct->get_plugin_registry();
return instance->add(type, name, new CompressionPluginSnappy(cct));
}
#include "SnappyCompressor.h"
// -----------------------------------------------------------------------------
-class CompressionPluginSnappy : public CompressionPlugin {
+class CompressionPluginSnappy : public ceph::CompressionPlugin {
public:
#include "include/buffer.h"
class CEPH_BUFFER_API BufferlistSource : public snappy::Source {
- bufferlist::const_iterator pb;
+ ceph::bufferlist::const_iterator pb;
size_t remaining;
public:
- explicit BufferlistSource(bufferlist::const_iterator _pb, size_t _input_len)
+ explicit BufferlistSource(ceph::bufferlist::const_iterator _pb, size_t _input_len)
: pb(_pb),
remaining(_input_len) {
remaining = std::min(remaining, (size_t)pb.get_remaining());
remaining -= n;
}
- bufferlist::const_iterator get_pos() const {
+ ceph::bufferlist::const_iterator get_pos() const {
return pb;
}
};
#endif
}
- int compress(const bufferlist &src, bufferlist &dst) override {
+ int compress(const ceph::bufferlist &src, ceph::bufferlist &dst) override {
#ifdef HAVE_QATZIP
if (qat_enabled)
return qat_accel.compress(src, dst);
#endif
- BufferlistSource source(const_cast<bufferlist&>(src).begin(), src.length());
- bufferptr ptr = buffer::create_small_page_aligned(
+ BufferlistSource source(const_cast<ceph::bufferlist&>(src).begin(), src.length());
+ ceph::bufferptr ptr = ceph::buffer::create_small_page_aligned(
snappy::MaxCompressedLength(src.length()));
snappy::UncheckedByteArraySink sink(ptr.c_str());
snappy::Compress(&source, &sink);
return 0;
}
- int decompress(const bufferlist &src, bufferlist &dst) override {
+ int decompress(const ceph::bufferlist &src, ceph::bufferlist &dst) override {
#ifdef HAVE_QATZIP
if (qat_enabled)
return qat_accel.decompress(src, dst);
return decompress(i, src.length(), dst);
}
- int decompress(bufferlist::const_iterator &p,
+ int decompress(ceph::bufferlist::const_iterator &p,
size_t compressed_len,
- bufferlist &dst) override {
+ ceph::bufferlist &dst) override {
#ifdef HAVE_QATZIP
if (qat_enabled)
return qat_accel.decompress(p, compressed_len, dst);
return -1;
}
BufferlistSource source_2(p, compressed_len);
- bufferptr ptr(res_len);
+ ceph::bufferptr ptr(res_len);
if (snappy::RawUncompress(&source_2, ptr.c_str())) {
p = source_2.get_pos();
dst.append(ptr);
const std::string& type,
const std::string& name)
{
- PluginRegistry *instance = cct->get_plugin_registry();
+ auto instance = cct->get_plugin_registry();
return instance->add(type, name, new CompressionPluginZlib(cct));
}
#include "arch/probe.h"
#include "arch/intel.h"
#include "arch/arm.h"
+#include "common/ceph_context.h"
#include "compressor/CompressionPlugin.h"
#include "ZlibCompressor.h"
// -----------------------------------------------------------------------------
-class CompressionPluginZlib : public CompressionPlugin {
+class CompressionPluginZlib : public ceph::CompressionPlugin {
public:
bool has_isal = false;
// -----------------------------------------------------------------------------
+using std::ostream;
+
+using ceph::bufferlist;
+using ceph::bufferptr;
+
static ostream&
_prefix(std::ostream* _dout)
{
strm.next_in = c_in;
do {
- bufferptr ptr = buffer::create_page_aligned(MAX_LEN);
+ bufferptr ptr = ceph::buffer::create_page_aligned(MAX_LEN);
strm.next_out = (unsigned char*)ptr.c_str() + begin;
strm.avail_out = MAX_LEN - begin;
if (begin) {
strm.next_in = c_in;
do {
- bufferptr ptr = buffer::create_page_aligned(MAX_LEN);
+ bufferptr ptr = ceph::buffer::create_page_aligned(MAX_LEN);
strm.next_out = (unsigned char*)ptr.c_str() + begin;
strm.avail_out = MAX_LEN - begin;
if (begin) {
do {
strm.avail_out = MAX_LEN;
- bufferptr ptr = buffer::create_page_aligned(MAX_LEN);
+ bufferptr ptr = ceph::buffer::create_page_aligned(MAX_LEN);
strm.next_out = (unsigned char*)ptr.c_str();
ret = inflate(&strm, Z_NO_FLUSH);
if (ret != Z_OK && ret != Z_STREAM_END && ret != Z_BUF_ERROR) {
#endif
}
- int compress(const bufferlist &in, bufferlist &out) override;
- int decompress(const bufferlist &in, bufferlist &out) override;
- int decompress(bufferlist::const_iterator &p, size_t compressed_len, bufferlist &out) override;
+ int compress(const ceph::buffer::list &in, ceph::buffer::list &out) override;
+ int decompress(const ceph::buffer::list &in, ceph::buffer::list &out) override;
+ int decompress(ceph::buffer::list::const_iterator &p, size_t compressed_len, ceph::buffer::list &out) override;
private:
- int zlib_compress(const bufferlist &in, bufferlist &out);
- int isal_compress(const bufferlist &in, bufferlist &out);
+ int zlib_compress(const ceph::buffer::list &in, ceph::buffer::list &out);
+ int isal_compress(const ceph::buffer::list &in, ceph::buffer::list &out);
};
const std::string& type,
const std::string& name)
{
- PluginRegistry *instance = cct->get_plugin_registry();
+ auto instance = cct->get_plugin_registry();
return instance->add(type, name, new CompressionPluginZstd(cct));
}
#include "ZstdCompressor.h"
// -----------------------------------------------------------------------------
-class CompressionPluginZstd : public CompressionPlugin {
+class CompressionPluginZstd : public ceph::CompressionPlugin {
public:
public:
ZstdCompressor() : Compressor(COMP_ALG_ZSTD, "zstd") {}
- 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());
auto p = src.begin();
size_t left = src.length();
size_t const out_max = ZSTD_compressBound(left);
- bufferptr outptr = buffer::create_small_page_aligned(out_max);
+ ceph::buffer::ptr outptr = ceph::buffer::create_small_page_aligned(out_max);
ZSTD_outBuffer_s outbuf;
outbuf.dst = outptr.c_str();
outbuf.size = outptr.length();
ZSTD_freeCStream(s);
// prefix with decompressed length
- encode((uint32_t)src.length(), dst);
+ ceph::encode((uint32_t)src.length(), dst);
dst.append(outptr, 0, outbuf.pos);
return 0;
}
- int decompress(const bufferlist &src, bufferlist &dst) override {
+ int decompress(const ceph::buffer::list &src, ceph::buffer::list &dst) override {
auto i = std::cbegin(src);
return decompress(i, src.length(), dst);
}
- int decompress(bufferlist::const_iterator &p,
+ int decompress(ceph::buffer::list::const_iterator &p,
size_t compressed_len,
- bufferlist &dst) override {
+ ceph::buffer::list &dst) override {
if (compressed_len < 4) {
return -1;
}
compressed_len -= 4;
uint32_t dst_len;
- decode(dst_len, p);
+ ceph::decode(dst_len, p);
- bufferptr dstptr(dst_len);
+ ceph::buffer::ptr dstptr(dst_len);
ZSTD_outBuffer_s outbuf;
outbuf.dst = dstptr.c_str();
outbuf.size = dstptr.length();