Joedb 10.4.6
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
joedb::Journal_Connection Class Reference

#include <joedb/concurrency/File_Connection.h>

Inheritance diagram for joedb::Journal_Connection:
Collaboration diagram for joedb::Journal_Connection:

Public Member Functions

 Journal_Connection (Writable_Journal &server_journal)
int64_t pull (Lock_Action lock_action, Data_Transfer data_transfer, Writable_Journal &client_journal, std::chrono::milliseconds wait) override
 Pull from the connection.
int64_t push (const Readonly_Journal &client_journal, const int64_t from, const int64_t until, Unlock_Action unlock_action) override
 Push new data to the connection.
void unlock () override
 Unlock the connection.
 ~Journal_Connection ()
Public Member Functions inherited from joedb::Pullonly_Journal_Connection
 Pullonly_Journal_Connection (Readonly_Journal &server_journal)
int64_t handshake (const Readonly_Journal &client_journal, Content_Check content_check) override
 Called during Client construction.
int64_t pull (Lock_Action lock_action, Data_Transfer data_transfer, Writable_Journal &client_journal, std::chrono::milliseconds wait) override
 Pull from the connection.
int64_t push (const Readonly_Journal &client_journal, const int64_t from, const int64_t until, Unlock_Action unlock_action) override
 Push new data to the connection.
Public Member Functions inherited from joedb::Connection
virtual bool is_pullonly () const
virtual ~Connection ()

Additional Inherited Members

Static Public Attributes inherited from joedb::Connection
static Connection dummy
 Since this class has no internal state, this global variable can be used instead of creating an instance.
Protected Member Functions inherited from joedb::Connection
 Connection ()=default
Static Protected Member Functions inherited from joedb::Connection
static void content_mismatch ()
 Called by handshake when the file and the connection do not match.
Protected Attributes inherited from joedb::Pullonly_Journal_Connection
Readonly_Journal & server_journal

Detailed Description

Definition at line 44 of file File_Connection.h.

Constructor & Destructor Documentation

◆ Journal_Connection()

joedb::Journal_Connection::Journal_Connection ( Writable_Journal & server_journal)

Definition at line 79 of file File_Connection.cpp.

◆ ~Journal_Connection()

joedb::Journal_Connection::~Journal_Connection ( )

Definition at line 131 of file File_Connection.cpp.

Member Function Documentation

◆ pull()

int64_t joedb::Journal_Connection::pull ( Lock_Action lock_action,
Data_Transfer data_transfer,
Writable_Journal & client_journal,
std::chrono::milliseconds wait )
overridevirtual
Parameters
lock_actionwhether the connection should be locked before pulling
data_transferwhether data should be transferred
client_journaljournal to pull into
waitduration during which the connection may wait for new data if the pull would otherwise be empty
Returns
connection checkpoint

Reimplemented from joedb::Connection.

Definition at line 87 of file File_Connection.cpp.

◆ push()

int64_t joedb::Journal_Connection::push ( const Readonly_Journal & client_journal,
const int64_t from,
const int64_t until,
Unlock_Action unlock_action )
overridevirtual
Returns
connection checkpoint

Reimplemented from joedb::Connection.

Definition at line 108 of file File_Connection.cpp.

◆ unlock()

void joedb::Journal_Connection::unlock ( )
overridevirtual

Reimplemented from joedb::Connection.

Definition at line 124 of file File_Connection.cpp.


The documentation for this class was generated from the following files: