|
Joedb 10.3.0
The Journal-Only Embedded Database
|
#include <joedb/journal/Encoded_File.h>


Public Member Functions | |
| Encoded_File (Codec &codec, db::encoded_file::Writable_Database &db) | |
| size_t | pread (char *buffer, size_t size, int64_t offset) const override |
| Read a range of bytes. | |
| void | pwrite (const char *buffer, size_t size, int64_t offset) override |
| Write a range of bytes. Extend file size if necessary. | |
| int64_t | get_size () const override |
| Get the size of the file, or -1 if it is unknown. | |
| void | sync () override |
| Write data durably (including file-size change) | |
| ~Encoded_File () | |
Public Member Functions inherited from joedb::Readonly_Encoded_File | |
| Readonly_Encoded_File (Decoder &decoder, const db::encoded_file::Database &db, const Abstract_File &blob_reader) | |
| int64_t | get_size () const override |
| Get the size of the file, or -1 if it is unknown. | |
Public Member Functions inherited from joedb::Abstract_File | |
| Abstract_File (Open_Mode mode) | |
| bool | is_shared () const noexcept |
| bool | is_readonly () const noexcept |
| Open_Mode | get_mode () const noexcept |
| virtual void | datasync () |
| Write data durably (no file-size change) | |
| virtual void | shared_lock (int64_t start, int64_t size) |
| Lock a range of bytes for reading (prevents writes, not reads) | |
| virtual void | exclusive_lock (int64_t start, int64_t size) |
| Lock a range of bytes for writing (prevents both writes and reads) | |
| virtual void | unlock (int64_t start, int64_t size) noexcept |
| Remove a lock. The range should match the range of a corresponding lock. | |
| void | exclusive_lock_tail () |
| void | unlock_tail () noexcept |
| void | exclusive_lock_head () |
| void | shared_lock_head () |
| void | unlock_head () noexcept |
| std::string | read_blob (Blob blob) const |
| virtual void | copy_to (Abstract_File &destination, int64_t start, int64_t size) const |
| virtual bool | equal_to (const Abstract_File &destination, int64_t from, int64_t until) const |
| void | copy_to (Abstract_File &destination) const |
| virtual | ~Abstract_File ()=default |
Additional Inherited Members | |
Static Public Member Functions inherited from joedb::Abstract_File | |
| static void | reading_past_end_of_file () |
Protected Member Functions inherited from joedb::Readonly_Encoded_File | |
| size_t | pread (char *buffer, size_t size, int64_t offset) const override |
| Read a range of bytes. | |
| Readonly_Encoded_File (Decoder &decoder, const db::encoded_file::Database &db, const Abstract_File &blob_reader, Open_Mode mode) | |
Protected Member Functions inherited from joedb::Abstract_File | |
| void | make_readonly () |
| void | make_writable () |
Protected Attributes inherited from joedb::Readonly_Encoded_File | |
| Decoder & | decoder |
Static Protected Attributes inherited from joedb::Abstract_File | |
| static constexpr int64_t | last_position = (1ULL << 63) - 1 |
Definition at line 11 of file Encoded_File.h.
| joedb::Encoded_File::Encoded_File | ( | Codec & | codec, |
| db::encoded_file::Writable_Database & | db | ||
| ) |
Definition at line 78 of file Encoded_File.cpp.
| joedb::Encoded_File::~Encoded_File | ( | ) |
Definition at line 111 of file Encoded_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 100 of file Encoded_File.cpp.
|
overridevirtual |
For very large reads, the returned value may be less than size, even if the end of the file is not reached. It is assumed that small reads (such as the 41 bytes of the joedb header) will not be truncated. 0 is returned if the end of the file is reached.
Reimplemented from joedb::Abstract_File.
Definition at line 14 of file Encoded_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 47 of file Encoded_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 6 of file Encoded_File.cpp.