#include "rgw_dmclock_async_scheduler.h"
#include "rgw_dmclock_scheduler.h"
+using namespace std::literals;
+
namespace rgw::dmclock {
AsyncScheduler::~AsyncScheduler()
}
}
-const char** AsyncScheduler::get_tracked_conf_keys() const
+std::vector<std::string> AsyncScheduler::get_tracked_keys() const noexcept
{
if (observer) {
- return observer->get_tracked_conf_keys();
+ return observer->get_tracked_keys();
}
- static const char* keys[] = { "rgw_max_concurrent_requests", nullptr };
- return keys;
+ return {"rgw_max_concurrent_requests"s};
}
-
void AsyncScheduler::handle_conf_change(const ConfigProxy& conf,
const std::set<std::string>& changed)
{
/// handler with an operation_aborted error and default-constructed result
void cancel(const client_id& client);
- const char** get_tracked_conf_keys() const override;
+ std::vector<std::string> get_tracked_keys() const noexcept override;
void handle_conf_change(const ConfigProxy& conf,
const std::set<std::string>& changed) override;
cct->_conf.add_observer(this);
}
- const char** get_tracked_conf_keys() const override {
- static const char* keys[] = { "rgw_max_concurrent_requests", nullptr };
- return keys;
+ std::vector<std::string> get_tracked_keys() const noexcept override {
+ return {std::string{"rgw_max_concurrent_requests"}};
}
void handle_conf_change(const ConfigProxy& conf,
*/
#include "rgw_dmclock_scheduler_ctx.h"
+using namespace std::literals;
+
namespace rgw::dmclock {
ClientConfig::ClientConfig(CephContext *cct)
return &clients[static_cast<size_t>(client)];
}
-const char** ClientConfig::get_tracked_conf_keys() const
+std::vector<std::string> ClientConfig::get_tracked_keys() const noexcept
{
- static const char* keys[] = {
- "rgw_dmclock_admin_res",
- "rgw_dmclock_admin_wgt",
- "rgw_dmclock_admin_lim",
- "rgw_dmclock_auth_res",
- "rgw_dmclock_auth_wgt",
- "rgw_dmclock_auth_lim",
- "rgw_dmclock_data_res",
- "rgw_dmclock_data_wgt",
- "rgw_dmclock_data_lim",
- "rgw_dmclock_metadata_res",
- "rgw_dmclock_metadata_wgt",
- "rgw_dmclock_metadata_lim",
- "rgw_max_concurrent_requests",
- nullptr
+ return {
+ "rgw_dmclock_admin_res"s,
+ "rgw_dmclock_admin_wgt"s,
+ "rgw_dmclock_admin_lim"s,
+ "rgw_dmclock_auth_res"s,
+ "rgw_dmclock_auth_wgt"s,
+ "rgw_dmclock_auth_lim"s,
+ "rgw_dmclock_data_res"s,
+ "rgw_dmclock_data_wgt"s,
+ "rgw_dmclock_data_lim"s,
+ "rgw_dmclock_metadata_res"s,
+ "rgw_dmclock_metadata_wgt"s,
+ "rgw_dmclock_metadata_lim"s,
+ "rgw_max_concurrent_requests"s
};
- return keys;
}
void ClientConfig::update(const ConfigProxy& conf)