BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
data::DatabaseWorker Class Reference

Executes database tasks asynchronously. More...

#include <DatabaseWorker.h>

Collaboration diagram for data::DatabaseWorker:
Collaboration graph

Public Member Functions

 DatabaseWorker (std::string dbPath)
 
virtual ~DatabaseWorker ()
 
virtual void enqueue (std::function< void(SQLite::Database &)> task)
 
size_t getQueueSize () const
 
void waitUntilIdle ()
 

Protected Member Functions

 DatabaseWorker ()
 

Private Member Functions

void workerLoop (std::stop_token stopToken)
 

Private Attributes

std::string mDbPath
 
rigtorp::SPSCQueue< std::function< void(SQLite::Database &)> > mTasks
 
std::jthread mWorker
 

Detailed Description

Executes database tasks asynchronously.

Constructor & Destructor Documentation

◆ DatabaseWorker() [1/2]

data::DatabaseWorker::DatabaseWorker ( std::string  dbPath)
explicit
Here is the call graph for this function:

◆ ~DatabaseWorker()

data::DatabaseWorker::~DatabaseWorker ( )
virtual

◆ DatabaseWorker() [2/2]

data::DatabaseWorker::DatabaseWorker ( )
protected

Member Function Documentation

◆ enqueue()

void data::DatabaseWorker::enqueue ( std::function< void(SQLite::Database &)>  task)
virtual
Here is the caller graph for this function:

◆ getQueueSize()

size_t data::DatabaseWorker::getQueueSize ( ) const
Here is the caller graph for this function:

◆ waitUntilIdle()

void data::DatabaseWorker::waitUntilIdle ( )
Here is the call graph for this function:

◆ workerLoop()

void data::DatabaseWorker::workerLoop ( std::stop_token  stopToken)
private
Here is the caller graph for this function:

Member Data Documentation

◆ mDbPath

std::string data::DatabaseWorker::mDbPath
private

◆ mTasks

rigtorp::SPSCQueue<std::function<void(SQLite::Database&)> > data::DatabaseWorker::mTasks
private

◆ mWorker

std::jthread data::DatabaseWorker::mWorker
private

The documentation for this class was generated from the following files: