25 const std::string name;
28 Strategy(
const std::string& name) : name(name) {}
53 auto j = nlohmann::json::object();
59 j[
"next_requested_seqno"] = *nr;
68 template <
typename Base>
80 const auto base = Base::next_requested();
83 std::lock_guard<ccf::pal::Mutex> guard(
lock);
95 std::lock_guard<ccf::pal::Mutex> guard(
lock);
ccf::pal::Mutex lock
Definition strategy.h:72
std::optional< ccf::SeqNo > next_requested() override
Definition strategy.h:78
ccf::SeqNo max_requested_seqno
Definition strategy.h:73
void extend_index_to(ccf::TxID to_txid)
Definition strategy.h:93
virtual ~Strategy()=default
Strategy(const std::string &name)
Definition strategy.h:28
virtual void tick()
Definition strategy.h:44
virtual std::optional< ccf::SeqNo > next_requested()=0
virtual void handle_committed_transaction(const ccf::TxID &tx_id, const ccf::kv::ReadOnlyStorePtr &store)=0
std::string get_name() const
Definition strategy.h:31
virtual nlohmann::json describe()
Definition strategy.h:51
Definition indexer_interface.h:14
std::shared_ptr< Strategy > StrategyPtr
Definition strategy.h:66
std::shared_ptr< ReadOnlyStore > ReadOnlyStorePtr
Definition read_only_store.h:23
std::mutex Mutex
Definition locking.h:12
uint64_t SeqNo
Definition tx_id.h:36
SeqNo seqno
Definition tx_id.h:46