Joedb 9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Encoded_File.h
Go to the documentation of this file.
1#ifndef joedb_Encoded_File_declared
2#define joedb_Encoded_File_declared
3
7
8namespace joedb
9{
10 /// @ingroup journal
12 {
13 private:
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:
27 (
28 Codec &codec,
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
38 };
39}
40
41#endif
void pwrite(const char *buffer, size_t size, int64_t offset) override
size_t pread(char *buffer, size_t size, int64_t offset) const override
int64_t get_size() const override
void sync() override
A writable Database constructed from a writable joedb::Buffered_File.
Definition Blob.h:7