|
Squid Web Cache master
|
#include <MmappedFile.h>
Public Types | |
| typedef RefCount< DiskFile > | Pointer |
Public Member Functions | |
| MmappedFile (char const *path) | |
| ~MmappedFile () override | |
| void | open (int flags, mode_t mode, RefCount< IORequestor > callback) override |
| void | create (int flags, mode_t mode, RefCount< IORequestor > callback) override |
| void | read (ReadRequest *) override |
| void | write (WriteRequest *) override |
| void | close () override |
| bool | error () const override |
| int | getFD () const override |
| bool | canRead () const override |
| bool | canWrite () const override |
| bool | ioInProgress () const override |
| we only support blocking I/O | |
| virtual void | configure (const Config &) |
| notes supported configuration options; kids must call this first | |
Private Member Functions | |
| CBDATA_CLASS (MmappedFile) | |
| void | doClose () |
Private Attributes | |
| char const * | path_ |
| RefCount< IORequestor > | ioRequestor |
| int | fd |
| int64_t | minOffset |
| enforced if not negative (to preserve file headers) | |
| int64_t | maxOffset |
| enforced if not negative (to avoid crashes) | |
| bool | error_ |
Definition at line 16 of file MmappedFile.h.
|
inherited |
Definition at line 39 of file DiskFile.h.
| MmappedFile::MmappedFile | ( | char const * | path | ) |
|
override |
Definition at line 64 of file MmappedFile.cc.
|
overridevirtual |
|
overridevirtual |
|
private |
|
overridevirtual |
Implements DiskFile.
Definition at line 118 of file MmappedFile.cc.
References assert, IORequestor::closeCompleted(), debugs, doClose(), and ioRequestor.
|
inlinevirtualinherited |
Reimplemented in IpcIoFile.
Definition at line 42 of file DiskFile.h.
Referenced by IpcIoFile::configure().
|
overridevirtual |
Alias for MmappedFile::open(...)
Implements DiskFile.
Definition at line 102 of file MmappedFile.cc.
References open().
|
private |
Definition at line 108 of file MmappedFile.cc.
References fd, file_close(), and store_open_disk_fd.
Referenced by ~MmappedFile(), close(), and write().
|
overridevirtual |
|
inlineoverridevirtual |
During migration only
Reimplemented from DiskFile.
Definition at line 29 of file MmappedFile.h.
References fd.
|
overridevirtual |
Implements DiskFile.
Definition at line 215 of file MmappedFile.cc.
|
overridevirtual |
Implements DiskFile.
Definition at line 72 of file MmappedFile.cc.
References assert, debugs, error_, fd, file_open(), ioRequestor, maxOffset, path_, store_open_disk_fd, and xstrerr().
Referenced by create().
|
overridevirtual |
Implements DiskFile.
Definition at line 145 of file MmappedFile.cc.
References assert, ReadRequest::buf, debugs, DISK_ERROR, DISK_OK, error_, fd, ioRequestor, ReadRequest::len, Mmapping::map(), MAP_NORESERVE, maxOffset, minOffset, ReadRequest::offset, IORequestor::readCompleted(), and Mmapping::unmap().
|
overridevirtual |
Implements DiskFile.
Definition at line 175 of file MmappedFile.cc.
References assert, WriteRequest::buf, DBG_IMPORTANT, debugs, DISK_ERROR, DISK_OK, doClose(), error_, fd, WriteRequest::free_func, ioRequestor, WriteRequest::len, maxOffset, minOffset, WriteRequest::offset, IORequestor::writeCompleted(), and xstrerr().
|
private |
|
private |
Definition at line 40 of file MmappedFile.h.
Referenced by canRead(), canWrite(), doClose(), getFD(), open(), read(), and write().
|
private |
|
private |
Definition at line 44 of file MmappedFile.h.
|
private |
Definition at line 43 of file MmappedFile.h.
|
private |
Definition at line 36 of file MmappedFile.h.
Referenced by MmappedFile(), ~MmappedFile(), and open().