|
char * | fetch (size_t offset=0) |
| Fetch a pointer to an offset within the memory mapped portion of the disk file. More...
|
|
char * | fetch (off_t pos, size_t len) |
| Fetch and map a portion of a disk file to a logical memory block. More...
|
|
bool | lock (void) |
| Lock the currently mapped portion of a file. More...
|
|
| MappedFile (const char *fname, Access mode) |
| Open a file for mapping. More...
|
|
| MappedFile (const char *fname, Access mode, size_t size) |
| Create if not exists, and map a file of specified size into memory. More...
|
|
| MappedFile (const char *fname, pos_t offset, size_t size, Access mode) |
| Map a portion or all of a specified file in the specified shared memory access mode. More...
|
|
size_t | pageAligned (size_t size) |
| Compute map size to aligned page boundry. More...
|
|
void | release (char *address, size_t len) |
| Release (unmap) a memory segment. More...
|
|
void | sync (void) |
| Synchronize the contents of the mapped portion of memory with the disk file and wait for completion. More...
|
|
void | sync (char *address, size_t len) |
| Synchronize a segment of memory mapped from a segment fetch. More...
|
|
void | unlock (void) |
| Unlock a locked mapped portion of a file.
|
|
void | update (size_t offset=0, size_t len=0) |
| Map a portion of the memory mapped from the file back to the file and do not wait for completion. More...
|
|
void | update (char *address, size_t len) |
| Update a mapped region back to disk as specified by address and length. More...
|
|
virtual | ~MappedFile () |
| Release a mapped section of memory associated with a file. More...
|
|
off_t | getCapacity (void) |
| Get current file capacity. More...
|
|
Error | getErrorNumber (void) const |
| Return current error id. More...
|
|
char * | getErrorString (void) const |
| Return current error string. More...
|
|
bool | initial (void) |
| This method should be called right after a RandomFile derived object has been created. More...
|
|
| operator bool () const |
|
bool | operator! (void) const |
|
virtual Error | restart (void) |
| This method is commonly used to close and re-open an existing database. More...
|
|
virtual | ~RandomFile () |
| Destroy a random access file or it's derived class.
|
|
|
Error | error (Error errid, char *errstr=NULL) |
| Post an error event. More...
|
|
Error | error (char *err) |
| Post an extended string error message. More...
|
|
void | final (void) |
| Close the file.
|
|
virtual Attr | initialize (void) |
| This method is used to initialize a newly created file as indicated by the "initial" flag. More...
|
|
| RandomFile (const char *name=NULL) |
| Create an unopened random access file.
|
|
| RandomFile (const RandomFile &rf) |
| Default copy constructor.
|
|
Error | setCompletion (Complete mode) |
| Used to set file completion modes. More...
|
|
void | setError (bool enable) |
| Used to enable or disable throwing of exceptions on errors. More...
|
|
void | setTemporary (bool enable) |
| Used to set the temporary attribute for the file. More...
|
|
Access | access |
|
int | fd |
|
struct { |
unsigned count: 16 |
|
bool immediate: 1 |
|
bool initial: 1 |
|
bool temp: 1 |
|
bool thrown: 1 |
|
} | flags |
|
char * | pathname |
|
bool | canAccess (const char *path) |
|
bool | canModify (const char *path) |
|
bool | isDevice (const char *path) |
|
bool | isDir (const char *path) |
|
bool | isFile (const char *path) |
|
time_t | lastAccessed (const char *path) |
|
time_t | lastModified (const char *path) |
|
Create and map a disk file into memory.
This portable class works under both Posix via mmap and under the win32 API. A mapped file can be referenced directly by it's memory segment. One can map and unmap portions of a file on demand, and update changed memory pages mapped from files immediately through sync().
- Author
- David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m Map a named disk file into memory.
Definition at line 663 of file file.h.