11#include "rigtorp/SPSCQueue.h"
12#include <SQLiteCpp/SQLiteCpp.h>
27 virtual void enqueue(std::function<
void(SQLite::Database&)> task);
40 rigtorp::SPSCQueue<std::function<void(SQLite::Database&)>>
mTasks;
Executes database tasks asynchronously.
Definition DatabaseWorker.h:22
size_t getQueueSize() const
Definition DatabaseWorker.cpp:27
std::jthread mWorker
Definition DatabaseWorker.h:39
DatabaseWorker()
Definition DatabaseWorker.cpp:15
virtual void enqueue(std::function< void(SQLite::Database &)> task)
Definition DatabaseWorker.cpp:22
virtual ~DatabaseWorker()
Definition DatabaseWorker.cpp:17
rigtorp::SPSCQueue< std::function< void(SQLite::Database &)> > mTasks
Definition DatabaseWorker.h:40
void workerLoop(std::stop_token stopToken)
Definition DatabaseWorker.cpp:37
std::string mDbPath
Definition DatabaseWorker.h:38
void waitUntilIdle()
Definition DatabaseWorker.cpp:32