Joedb 9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Server_Connection.h
Go to the documentation of this file.
1#ifndef joedb_Server_Connection_declared
2#define joedb_Server_Connection_declared
3
6
7namespace joedb
8{
9 /// @ingroup concurrency
11 {
12 protected:
13 int64_t pull
14 (
15 Writable_Journal *client_journal,
16 std::chrono::milliseconds wait,
17 char pull_type
18 );
19
21 (
22 Readonly_Journal &client_journal,
23 int64_t server_checkpoint
24 );
25
26 public:
28
29 int64_t handshake
30 (
31 Readonly_Journal &client_journal,
32 bool content_check
33 ) override;
34
35 int64_t pull
36 (
37 Writable_Journal &client_journal,
38 std::chrono::milliseconds wait
39 ) override;
40
41 int64_t lock_pull
42 (
43 Writable_Journal &client_journal,
44 std::chrono::milliseconds wait = std::chrono::milliseconds{0}
45 ) override;
46
47 int64_t get_checkpoint
48 (
49 Readonly_Journal &client_journal,
50 std::chrono::milliseconds wait
51 ) override;
52
53 int64_t push_until
54 (
55 Readonly_Journal &client_journal,
56 int64_t server_position,
57 int64_t until_position,
58 bool unlock_after
59 ) override;
60
61 void unlock() override;
62 };
63}
64
65#endif
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)
Definition Blob.h:7