|
Squid Web Cache master
|
#include <Storage.h>
Public Member Functions | |
| ~Storage () override | |
| virtual void | create ()=0 |
| create system resources needed for this store to operate in the future | |
| virtual void | init ()=0 |
| virtual uint64_t | maxSize () const =0 |
| virtual uint64_t | minSize () const =0 |
| the minimum size the store will shrink to via normal housekeeping | |
| virtual uint64_t | currentSize () const =0 |
| current size | |
| virtual uint64_t | currentCount () const =0 |
| the total number of objects stored right now | |
| virtual int64_t | maxObjectSize () const =0 |
| the maximum size of a storable object; -1 if unlimited | |
| virtual void | getStats (StoreInfoStats &stats) const =0 |
| collect statistics | |
| virtual void | stat (StoreEntry &e) const =0 |
| virtual void | evictCached (StoreEntry &e)=0 |
| virtual void | evictIfFound (const cache_key *)=0 |
| virtual int | callback () |
| called once every main loop iteration; TODO: Move to UFS code. | |
| virtual void | maintain ()=0 |
| perform regular periodic maintenance; TODO: move to UFSSwapDir::Maintain | |
| virtual void | sync () |
| prepare for shutdown | |
A "response storage" abstraction. This API is shared among Controller and Controlled classes.
|
inlinevirtual |
Reimplemented in Fs::Ufs::UFSSwapDir, Store::Controller, and Store::Disks.
|
pure virtual |
Implemented in Rock::SwapDir, Fs::Ufs::UFSSwapDir, MemStore, Store::Controller, Store::Disk, Store::Disks, and Transients.
|
pure virtual |
Implemented in Rock::SwapDir, Fs::Ufs::UFSSwapDir, MemStore, Store::Controller, Store::Disks, TestSwapDir, and Transients.
|
pure virtual |
Implemented in Rock::SwapDir, Fs::Ufs::UFSSwapDir, MemStore, Store::Controller, Store::Disks, TestSwapDir, and Transients.
|
pure virtual |
Prevent new get() calls from returning the matching entry. If the matching entry is unused, it may be removed from the store now. The store entry is matched using either e attachment info or e.key.
Implemented in Rock::SwapDir, Fs::Ufs::UFSSwapDir, MemStore, Store::Controller, Store::Disks, TestSwapDir, and Transients.
Referenced by Store::Disks::evictCached().
|
pure virtual |
An evictCached() equivalent for callers that did not get() a StoreEntry. Callers with StoreEntry objects must use evictCached() instead.
Implemented in Rock::SwapDir, Fs::Ufs::UFSSwapDir, MemStore, Store::Controller, Store::Disks, TestSwapDir, and Transients.
|
pure virtual |
Implemented in MemStore, Store::Controller, Store::Disk, Store::Disks, and Transients.
|
pure virtual |
Start preparing the store for use. To check readiness, callers should use readable() and writable() methods.
Implemented in Rock::SwapDir, Fs::Ufs::UFSSwapDir, MemStore, Store::Controller, Store::Disks, TestSwapDir, and Transients.
|
pure virtual |
Implemented in Rock::SwapDir, Fs::Ufs::UFSSwapDir, MemStore, Store::Controller, Store::Disk, Store::Disks, and Transients.
|
pure virtual |
Implemented in MemStore, Store::Controller, Store::Disk, Store::Disks, and Transients.
|
pure virtual |
The maximum size the store will support in normal use. Inaccuracy is permitted, but may throw estimates for memory etc out of whack.
Implemented in MemStore, Store::Controller, Store::Disk, Store::Disks, TestSwapDir, and Transients.
|
pure virtual |
Implemented in MemStore, Store::Controller, Store::Disk, Store::Disks, and Transients.
|
pure virtual |
Output stats to the provided store entry. TODO: make these calls asynchronous
Implemented in Store::Controller, Store::Disk, Store::Disks, TestSwapDir, MemStore, and Transients.
|
inlinevirtual |
Reimplemented in Fs::Ufs::UFSSwapDir, Store::Controller, and Store::Disks.