1#ifndef joedb_Server_Connection_declared
2#define joedb_Server_Connection_declared
16 std::ostream *
log =
nullptr,
17 std::chrono::milliseconds keep_alive_interval = std::chrono::seconds(0)
23 size_t pread(
char *data,
size_t size, int64_t offset)
const;
36 std::chrono::milliseconds wait = std::chrono::milliseconds(0)
Thread_Safe< Channel & > channel
int64_t pull(Lock_Action lock_action, Data_Transfer data_transfer, Writable_Journal &client_journal, std::chrono::milliseconds wait=std::chrono::milliseconds(0)) override
Pull from the connection.
void unlock() override
Unlock the connection.
int64_t handshake(const Readonly_Journal &client_journal, Content_Check content_check) override
Called during Client construction.
bool is_pullonly() const override
size_t pread(char *data, size_t size, int64_t offset) const
int64_t push(const Readonly_Journal &client_journal, int64_t from, int64_t until, Unlock_Action unlock_action) override
Push new data to the connection.
Server_Connection(Channel &channel, std::ostream *log=nullptr, std::chrono::milliseconds keep_alive_interval=std::chrono::seconds(0))