summaryrefslogtreecommitdiffstats
path: root/src/rgw/driver/rados/rgw_sal_rados.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rgw/driver/rados/rgw_sal_rados.h')
-rw-r--r--src/rgw/driver/rados/rgw_sal_rados.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/rgw/driver/rados/rgw_sal_rados.h b/src/rgw/driver/rados/rgw_sal_rados.h
index 7b810504457..d5174f39bc8 100644
--- a/src/rgw/driver/rados/rgw_sal_rados.h
+++ b/src/rgw/driver/rados/rgw_sal_rados.h
@@ -15,6 +15,10 @@
#pragma once
+#include "include/neorados/RADOS.hpp"
+
+#include <boost/asio/io_context.hpp>
+
#include "rgw_sal_store.h"
#include "rgw_rados.h"
#include "rgw_notify.h"
@@ -112,19 +116,22 @@ class RadosZone : public StoreZone {
class RadosStore : public StoreDriver {
private:
+ boost::asio::io_context& io_context;
RGWRados* rados;
RGWUserCtl* user_ctl;
std::unique_ptr<RadosZone> zone;
+ std::optional<neorados::RADOS> neorados;
std::string topics_oid(const std::string& tenant) const;
public:
- RadosStore()
- : rados(nullptr) {
+ RadosStore(boost::asio::io_context& io_context)
+ : io_context(io_context), rados(nullptr) {
}
~RadosStore() {
delete rados;
}
+ int init_neorados(const DoutPrefixProvider* dpp);
virtual int initialize(CephContext *cct, const DoutPrefixProvider *dpp) override;
virtual const std::string get_name() const override {
return "rados";
@@ -240,6 +247,8 @@ class RadosStore : public StoreDriver {
void setRados(RGWRados * st) { rados = st; }
RGWRados* getRados(void) { return rados; }
+ boost::asio::io_context& get_io_context() { return io_context; }
+ neorados::RADOS& get_neorados() { return *neorados; }
RGWServices* svc() { return &rados->svc; }
const RGWServices* svc() const { return &rados->svc; }