1#ifndef joedb_Server_Connection_declared
2#define joedb_Server_Connection_declared
16 std::chrono::milliseconds wait,
38 std::chrono::milliseconds wait
44 std::chrono::milliseconds wait = std::chrono::milliseconds{0}
49 Readonly_Journal &client_journal,
50 std::chrono::milliseconds wait
55 Readonly_Journal &client_journal,
56 int64_t server_position,
57 int64_t until_position,
int64_t server_checkpoint
Thread_Safe_Channel channel
void unlock() override
Can be used to cancel a transaction without pushing.
int64_t pull(Writable_Journal *client_journal, std::chrono::milliseconds wait, char pull_type)
Server_Connection(Channel &channel)
int64_t handshake(Readonly_Journal &client_journal, bool content_check) override
Called during Client construction.
int64_t push_until(Readonly_Journal &client_journal, int64_t server_position, int64_t until_position, bool unlock_after) override
Push new data to the connection.
int64_t lock_pull(Writable_Journal &client_journal, std::chrono::milliseconds wait=std::chrono::milliseconds{0}) override
Fused lock_pull, executed at the start of a write transaction.
int64_t get_checkpoint(Readonly_Journal &client_journal, std::chrono::milliseconds wait) override
Get new connection checkpoint without pulling.
bool check_matching_content(Readonly_Journal &client_journal, int64_t server_checkpoint)