31 return "IndexingStrategies";
36 if (strategy ==
nullptr)
38 throw std::logic_error(
"Tried to install null strategy");
41 std::lock_guard<ccf::pal::Mutex> guard(
lock);
47 std::lock_guard<ccf::pal::Mutex> guard(
lock);
50 throw std::logic_error(
"Strategy doesn't exist");
58 std::lock_guard<ccf::pal::Mutex> guard(
lock);
59 auto j = nlohmann::json::array();
63 j.push_back(strategy->describe());
Definition node_subsystem_interface.h:8
Definition indexer_interface.h:21
nlohmann::json describe()
Definition indexer_interface.h:56
virtual ~IndexingStrategies()=default
std::set< StrategyPtr > strategies
Definition indexer_interface.h:24
static char const * get_subsystem_name()
Definition indexer_interface.h:29
void uninstall_strategy(const StrategyPtr &strategy)
Definition indexer_interface.h:45
bool install_strategy(const StrategyPtr &strategy)
Definition indexer_interface.h:34
ccf::pal::Mutex lock
Definition indexer_interface.h:23
Definition indexer_interface.h:14
std::shared_ptr< Strategy > StrategyPtr
Definition strategy.h:66
std::mutex Mutex
Definition locking.h:12