1#ifndef joedb_Writable_Database_Client_declared
2#define joedb_Writable_Database_Client_declared
12 class Writable_Database_Client_Data
15 Writable_Journal journal;
17 Multiplexer multiplexer;
20 Writable_Database_Client_Data(Buffered_File &file):
22 multiplexer{journal, database}
30 protected detail::Writable_Database_Client_Data,
36 void read_journal()
override {journal.play_until_checkpoint(database);}
43 bool content_check =
true
45 Writable_Database_Client_Data(file),
46 Client(journal, connection, content_check)
Lock object that allows writing to a database managed by a joedb::Client.
Handle concurrent access to a file with a joedb::Connection.
void transaction(F transaction)
Writable_Database_Client_Lock(Writable_Database_Client &client)
Writable & get_writable()
const Readable & get_readable() const
Writable_Database_Client(Buffered_File &file, Connection &connection, bool content_check=true)
void transaction(F transaction)
void read_journal() override
const Database & get_database() const