11#include "rigtorp/SPSCQueue.h"
12#include <SQLiteCpp/SQLiteCpp.h>
27 virtual void enqueue(std::function<
void(SQLite::Database&)> task);
41 rigtorp::SPSCQueue<std::function<void(SQLite::Database&)>>
mTasks;
Executes database tasks asynchronously.
Definition DatabaseWorker.h:22
size_t getQueueSize() const
Definition DatabaseWorker.cpp:31
void sync()
Definition DatabaseWorker.cpp:41
std::jthread mWorker
Definition DatabaseWorker.h:40
DatabaseWorker()
Definition DatabaseWorker.cpp:16
virtual void enqueue(std::function< void(SQLite::Database &)> task)
Definition DatabaseWorker.cpp:26
virtual ~DatabaseWorker()
Definition DatabaseWorker.cpp:18
rigtorp::SPSCQueue< std::function< void(SQLite::Database &)> > mTasks
Definition DatabaseWorker.h:41
void workerLoop(std::stop_token stopToken)
Definition DatabaseWorker.cpp:51
std::string mDbPath
Definition DatabaseWorker.h:39
void waitUntilIdle()
Definition DatabaseWorker.cpp:36
Repository for managing sequence numbers.
Definition Constant.h:13