1#ifndef joedb_File_Connection_declared
2#define joedb_File_Connection_declared
29 std::chrono::milliseconds
35 std::chrono::milliseconds
41 std::chrono::milliseconds
47 const int64_t from_checkpoint,
48 const int64_t until_checkpoint,
71 std::chrono::milliseconds
77 const int64_t from_checkpoint,
78 const int64_t until_checkpoint,
90 class File_Connection_Data
94 Writable_Journal server_journal;
101 Buffered_File &server_file,
105 server_journal(server_file, check, commit_level)
113 public detail::File_Connection_Data,
125 File_Connection_Data(server_file, check, commit_level),
void unlock() override
Can be used to cancel a transaction without pushing.
Journal_Connection(Writable_Journal &server_journal)
int64_t lock_pull(Writable_Journal &client_journal, std::chrono::milliseconds) override
Fused lock_pull, executed at the start of a write transaction.
int64_t push_until(Readonly_Journal &client_journal, const int64_t from_checkpoint, const int64_t until_checkpoint, bool unlock_after) override
Push new data to the connection.
int64_t get_checkpoint(Readonly_Journal &client_journal, std::chrono::milliseconds) override
Get new connection checkpoint without pulling.
int64_t push_until(Readonly_Journal &client_journal, const int64_t from_checkpoint, const int64_t until_checkpoint, bool unlock_after) override
Push new data to the connection.
int64_t lock_pull(Writable_Journal &client_journal, std::chrono::milliseconds) override
Fused lock_pull, executed at the start of a write transaction.
int64_t pull(Writable_Journal &client_journal, std::chrono::milliseconds) override
Pull new data from the connection.
Readonly_Journal & server_journal
int64_t handshake(Readonly_Journal &client_journal, bool content_check) override
Called during Client construction.
Pullonly_Journal_Connection(Readonly_Journal &server_journal)