#include <joedb/journal/Memory_File.h>
|
| Memory_File (Open_Mode mode=Open_Mode::create_new) |
|
void | resize (size_t size) |
|
std::string & | get_data () |
|
const std::string & | get_data () const |
|
std::string | move_data () const |
|
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.
|
|
| Abstract_File (Open_Mode mode) |
|
bool | is_shared () const noexcept |
|
bool | is_readonly () const noexcept |
|
Open_Mode | get_mode () const noexcept |
|
virtual void | sync () |
| Write data durably (including file-size change)
|
|
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 |
|
bool | tail_is_locked () const noexcept |
|
void | shared_lock_head () |
|
void | exclusive_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 |
|
Definition at line 11 of file Memory_File.h.
◆ Memory_File()
◆ get_data() [1/2]
std::string & joedb::Memory_File::get_data |
( |
| ) |
|
|
inline |
◆ get_data() [2/2]
const std::string & joedb::Memory_File::get_data |
( |
| ) |
const |
|
inline |
◆ get_size()
int64_t joedb::Memory_File::get_size |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ move_data()
std::string joedb::Memory_File::move_data |
( |
| ) |
const |
|
inline |
◆ pread()
size_t joedb::Memory_File::pread |
( |
char * |
data, |
|
|
size_t |
size, |
|
|
int64_t |
offset |
|
) |
| const |
|
overridevirtual |
The returned value may be less than size, even if the end of the file is not reached. 0 is returned if the end of the file is reached.
Reimplemented from joedb::Abstract_File.
Definition at line 8 of file Memory_File.cpp.
◆ pwrite()
void joedb::Memory_File::pwrite |
( |
const char * |
data, |
|
|
size_t |
size, |
|
|
int64_t |
offset |
|
) |
| |
|
overridevirtual |
◆ resize()
void joedb::Memory_File::resize |
( |
size_t |
size | ) |
|
|
inline |
◆ data
std::string joedb::Memory_File::data |
|
protected |
The documentation for this class was generated from the following files: