#include <Storage.h>
![Inheritance graph](classStore_1_1Storage__inherit__graph.png)
![Collaboration graph](classStore_1_1Storage__coll__graph.png)
Public Member Functions | |
~Storage () override | |
virtual void | create ()=0 |
create system resources needed for this store to operate in the future More... | |
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 More... | |
virtual uint64_t | currentSize () const =0 |
current size More... | |
virtual uint64_t | currentCount () const =0 |
the total number of objects stored right now More... | |
virtual int64_t | maxObjectSize () const =0 |
the maximum size of a storable object; -1 if unlimited More... | |
virtual void | getStats (StoreInfoStats &stats) const =0 |
collect statistics More... | |
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. More... | |
virtual void | maintain ()=0 |
perform regular periodic maintenance; TODO: move to UFSSwapDir::Maintain More... | |
virtual void | sync () |
prepare for shutdown More... | |
Detailed Description
A "response storage" abstraction. This API is shared among Controller and Controlled classes.
Constructor & Destructor Documentation
◆ ~Storage()
Member Function Documentation
◆ callback()
|
inlinevirtual |
Reimplemented in Fs::Ufs::UFSSwapDir, Store::Disks, and Store::Controller.
◆ create()
|
pure virtual |
Implemented in Transients, Rock::SwapDir, MemStore, Fs::Ufs::UFSSwapDir, Store::Disk, Store::Controller, and Store::Disks.
◆ currentCount()
|
pure virtual |
Implemented in Fs::Ufs::UFSSwapDir, Transients, MemStore, Rock::SwapDir, Store::Controller, Store::Disks, and TestSwapDir.
◆ currentSize()
|
pure virtual |
Implemented in Fs::Ufs::UFSSwapDir, Transients, MemStore, Rock::SwapDir, Store::Controller, Store::Disks, and TestSwapDir.
◆ evictCached()
|
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 Transients, MemStore, Fs::Ufs::UFSSwapDir, Rock::SwapDir, Store::Disks, Store::Controller, and TestSwapDir.
Referenced by Store::Disks::evictCached().
◆ evictIfFound()
|
pure virtual |
An evictCached() equivalent for callers that did not get() a StoreEntry. Callers with StoreEntry objects must use evictCached() instead.
Implemented in Transients, MemStore, Fs::Ufs::UFSSwapDir, Rock::SwapDir, Store::Disks, Store::Controller, and TestSwapDir.
◆ getStats()
|
pure virtual |
Implemented in Transients, MemStore, Store::Disk, Store::Controller, and Store::Disks.
◆ init()
|
pure virtual |
Start preparing the store for use. To check readiness, callers should use readable() and writable() methods.
Implemented in Rock::SwapDir, Transients, MemStore, Fs::Ufs::UFSSwapDir, TestSwapDir, Store::Controller, and Store::Disks.
◆ maintain()
|
pure virtual |
Implemented in Rock::SwapDir, Transients, MemStore, Store::Disk, Fs::Ufs::UFSSwapDir, Store::Controller, and Store::Disks.
◆ maxObjectSize()
|
pure virtual |
Implemented in Transients, MemStore, Store::Disk, Store::Controller, and Store::Disks.
◆ maxSize()
|
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 Transients, MemStore, Store::Disk, Store::Controller, Store::Disks, and TestSwapDir.
◆ minSize()
|
pure virtual |
Implemented in Transients, MemStore, Store::Disk, Store::Controller, and Store::Disks.
◆ stat()
|
pure virtual |
Output stats to the provided store entry. TODO: make these calls asynchronous
Implemented in Transients, MemStore, Store::Disk, Store::Controller, Store::Disks, and TestSwapDir.
◆ sync()
|
inlinevirtual |
Reimplemented in Fs::Ufs::UFSSwapDir, Store::Controller, and Store::Disks.
The documentation for this class was generated from the following file:
- src/store/Storage.h
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products