1#ifndef XRPL_NODESTORE_SCHEDULER_H_INCLUDED
2#define XRPL_NODESTORE_SCHEDULER_H_INCLUDED
4#include <xrpl/nodestore/Task.h>
Scheduling for asynchronous backend activity.
virtual void onBatchWrite(BatchWriteReport const &report)=0
Reports the completion of a batch write Allows the scheduler to monitor the node store's performance.
virtual ~Scheduler()=default
virtual void onFetch(FetchReport const &report)=0
Reports completion of a fetch Allows the scheduler to monitor the node store's performance.
virtual void scheduleTask(Task &task)=0
Schedules a task.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Contains information about a batch write operation.
std::chrono::milliseconds elapsed
BatchWriteReport()=default
Contains information about a fetch operation.
FetchReport(FetchType fetchType_)
std::chrono::milliseconds elapsed
FetchType const fetchType
Derived classes perform scheduled tasks.