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


Public Member Functions | |
| Posix_FD (int fd, Open_Mode mode) | |
| Posix_FD (const char *file_name, Open_Mode mode) | |
| Posix_FD (const Posix_FD &)=delete | |
| Posix_FD & | operator= (const Posix_FD &)=delete |
| int64_t | get_size () const override |
| Get the size of the file, or -1 if it is unknown. | |
| 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. | |
| void | sync () override |
| Write data durably (including file-size change) | |
| void | shared_lock (int64_t start, int64_t size) override |
| Lock a range of bytes for reading (prevents writes, not reads) | |
| void | exclusive_lock (int64_t start, int64_t size) override |
| Lock a range of bytes for writing (prevents both writes and reads) | |
| void | unlock (int64_t start, int64_t size) noexcept override |
| Remove a lock. The range should match the range of a corresponding lock. | |
| ~Posix_FD () override | |
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) | |
| 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 |
Static Public Member Functions | |
| static void | throw_last_error (const char *action, const char *file_name) |
Static Public Member Functions inherited from joedb::Abstract_File | |
| static void | reading_past_end_of_file () |
Protected Member Functions | |
| bool | try_exclusive_lock (int64_t start, int64_t size) |
Protected Member Functions inherited from joedb::Abstract_File | |
| void | make_readonly () |
| void | make_writable () |
Additional Inherited Members | |
Static Protected Attributes inherited from joedb::Abstract_File | |
| static constexpr int64_t | last_position = (1ULL << 63) - 1 |
Definition at line 17 of file Posix_File.h.
|
inline |
Definition at line 30 of file Posix_File.h.
| joedb::Posix_FD::Posix_FD | ( | const char * | file_name, |
| Open_Mode | mode | ||
| ) |
Definition at line 152 of file Posix_File.cpp.
|
delete |
|
override |
Definition at line 205 of file Posix_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 76 of file Posix_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 193 of file Posix_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 91 of file Posix_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 103 of file Posix_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 68 of file Posix_File.cpp.
|
overridevirtual |
Reimplemented from joedb::Abstract_File.
Definition at line 126 of file Posix_File.cpp.
|
static |
Definition at line 32 of file Posix_File.cpp.
|
protected |
Definition at line 61 of file Posix_File.cpp.
|
overridevirtualnoexcept |
Reimplemented from joedb::Abstract_File.
Definition at line 84 of file Posix_File.cpp.