blob: 68d397867fa8b6d784871daffe05003a01b5a67c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#ifndef CEPH_RGW_SYNC_MODULE_PUBSUB_H
#define CEPH_RGW_SYNC_MODULE_PUBSUB_H
#include "rgw_sync_module.h"
class RGWPSSyncModule : public RGWSyncModule {
public:
RGWPSSyncModule() {}
bool supports_data_export() override {
return false;
}
bool supports_writes() override {
return true;
}
int create_instance(CephContext *cct, const JSONFormattable& config, RGWSyncModuleInstanceRef *instance) override;
};
class RGWPSDataSyncModule;
class RGWRESTConn;
class RGWPSSyncModuleInstance : public RGWSyncModuleInstance {
std::unique_ptr<RGWPSDataSyncModule> data_handler;
JSONFormattable effective_conf;
public:
RGWPSSyncModuleInstance(CephContext *cct, const JSONFormattable& config);
~RGWPSSyncModuleInstance();
RGWDataSyncModule *get_data_handler() override;
RGWRESTMgr *get_rest_filter(int dialect, RGWRESTMgr *orig) override;
bool supports_user_writes() override {
return true;
}
const JSONFormattable& get_effective_conf() {
return effective_conf;
}
// start with full sync based on configuration
// default to incremental only
virtual bool should_full_sync() const override;
};
#endif
|