rippled
Public Member Functions | List of all members
ripple::NodeStore::Scheduler Class Referenceabstract

Scheduling for asynchronous backend activity. More...

Inheritance diagram for ripple::NodeStore::Scheduler:
Inheritance graph
[legend]

Public Member Functions

virtual ~Scheduler ()=default
 
virtual void scheduleTask (Task &task)=0
 Schedules a task. More...
 
virtual void onFetch (FetchReport const &report)=0
 Reports completion of a fetch Allows the scheduler to monitor the node store's performance. More...
 
virtual void onBatchWrite (BatchWriteReport const &report)=0
 Reports the completion of a batch write Allows the scheduler to monitor the node store's performance. More...
 

Detailed Description

Scheduling for asynchronous backend activity.

For improved performance, a backend has the option of performing writes in batches. These writes can be scheduled using the provided scheduler object.

See also
BatchWriter

Definition at line 60 of file ripple/nodestore/Scheduler.h.

Constructor & Destructor Documentation

◆ ~Scheduler()

virtual ripple::NodeStore::Scheduler::~Scheduler ( )
virtualdefault

Member Function Documentation

◆ scheduleTask()

virtual void ripple::NodeStore::Scheduler::scheduleTask ( Task task)
pure virtual

Schedules a task.

Depending on the implementation, the task may be invoked either on the current thread of execution, or an unspecified implementation-defined foreign thread.

Implemented in ripple::NodeStore::DummyScheduler, and ripple::NodeStoreScheduler.

◆ onFetch()

virtual void ripple::NodeStore::Scheduler::onFetch ( FetchReport const &  report)
pure virtual

Reports completion of a fetch Allows the scheduler to monitor the node store's performance.

Implemented in ripple::NodeStoreScheduler, and ripple::NodeStore::DummyScheduler.

◆ onBatchWrite()

virtual void ripple::NodeStore::Scheduler::onBatchWrite ( BatchWriteReport const &  report)
pure virtual

Reports the completion of a batch write Allows the scheduler to monitor the node store's performance.

Implemented in ripple::NodeStoreScheduler, and ripple::NodeStore::DummyScheduler.