1#ifndef joedb_Connection_declared
2#define joedb_Connection_declared
35 std::chrono::milliseconds wait = std::chrono::milliseconds(0)
43 std::chrono::milliseconds wait = std::chrono::milliseconds(0)
51 std::chrono::milliseconds wait = std::chrono::milliseconds(0)
59 int64_t from_checkpoint,
60 int64_t until_checkpoint,
69 int64_t from_checkpoint,
77 std::numeric_limits<int64_t>::max(),
virtual int64_t pull(Writable_Journal &client_journal, std::chrono::milliseconds wait=std::chrono::milliseconds(0))
Pull new data from the connection.
int64_t push(Readonly_Journal &client_journal, int64_t from_checkpoint, bool unlock_after)
Shortcut to call push_until until the client checkpoint.
virtual int64_t lock_pull(Writable_Journal &client_journal, std::chrono::milliseconds wait=std::chrono::milliseconds(0))
Fused lock_pull, executed at the start of a write transaction.
virtual int64_t handshake(Readonly_Journal &client_journal, bool content_check)
Called during Client construction.
virtual void unlock()
Can be used to cancel a transaction without pushing.
virtual int64_t push_until(Readonly_Journal &client_journal, int64_t from_checkpoint, int64_t until_checkpoint, bool unlock_after)
Push new data to the connection.
virtual int64_t get_checkpoint(Readonly_Journal &client_journal, std::chrono::milliseconds wait=std::chrono::milliseconds(0))
Get new connection checkpoint without pulling.
static void content_mismatch()