]>
git.proxmox.com Git - ceph.git/blob - ceph/src/compressor/CompressionPlugin.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 * Ceph distributed storage system
6 * Copyright (C) 2015 Mirantis, Inc.
8 * Author: Alyona Kiseleva <akiselyova@mirantis.com>
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
18 #ifndef COMPRESSION_PLUGIN_H
19 #define COMPRESSION_PLUGIN_H
22 #include "common/Mutex.h"
23 #include "common/PluginRegistry.h"
24 #include "Compressor.h"
28 class CompressionPlugin
: public Plugin
{
30 CompressorRef compressor
;
32 explicit CompressionPlugin(CephContext
*cct
) : Plugin(cct
),
36 ~CompressionPlugin() override
{}
38 virtual int factory(CompressorRef
*cs
,
39 std::ostream
*ss
) = 0;
41 virtual const char* name() {return "CompressionPlugin";}