Joedb
9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
src
joedb
journal
Encoded_File.h
Go to the documentation of this file.
1
#ifndef joedb_Encoded_File_declared
2
#define joedb_Encoded_File_declared
3
4
#include "
joedb/journal/Readonly_Encoded_File.h
"
5
#include "
joedb/journal/Codec.h
"
6
#include "
joedb/db/encoded_file/Writable_Database.h
"
7
8
namespace
joedb
9
{
10
/// @ingroup journal
11
class
Encoded_File
:
public
Readonly_Encoded_File
12
{
13
private
:
14
db::encoded_file::Writable_Database
&db;
15
Codec
&codec;
16
17
static
constexpr
size_t
write_buffer_total_size = 1 << 20;
18
std::vector<char> write_buffer;
19
int64_t
write_buffer_offset;
20
mutable
size_t
write_buffer_size;
21
22
void
write_blob(
const
char
*buffer,
size_t
size,
int64_t
offset)
const
;
23
void
flush_write_buffer()
const
;
24
25
public
:
26
Encoded_File
27
(
28
Codec
&codec,
29
db::encoded_file::Writable_Database
&db
30
);
31
32
size_t
pread
(
char
*buffer,
size_t
size,
int64_t
offset)
const override
;
33
void
pwrite
(
const
char
*buffer,
size_t
size,
int64_t
offset)
override
;
34
int64_t
get_size
()
const override
;
35
void
sync
()
override
;
36
37
~Encoded_File
();
38
};
39
}
40
41
#endif
Codec.h
Readonly_Encoded_File.h
joedb::Buffered_File::read
T read()
Definition
Buffered_File.h:156
joedb::Codec
Definition
Codec.h:12
joedb::Encoded_File
Definition
Encoded_File.h:12
joedb::Encoded_File::pwrite
void pwrite(const char *buffer, size_t size, int64_t offset) override
Definition
Encoded_File.cpp:47
joedb::Encoded_File::pread
size_t pread(char *buffer, size_t size, int64_t offset) const override
Definition
Encoded_File.cpp:16
joedb::Encoded_File::get_size
int64_t get_size() const override
Definition
Encoded_File.cpp:100
joedb::Encoded_File::~Encoded_File
~Encoded_File()
Definition
Encoded_File.cpp:111
joedb::Encoded_File::sync
void sync() override
Definition
Encoded_File.cpp:6
joedb::Readonly_Encoded_File
Definition
Readonly_Encoded_File.h:11
joedb::db::encoded_file::Writable_Database
A writable Database constructed from a writable joedb::Buffered_File.
Definition
Writable_Database.h:30
joedb
Definition
Blob.h:7
Writable_Database.h
Generated by
1.9.8