Controller.h
Go to the documentation of this file.
Definition: RequestMethod.h:27
Definition: MemObject.h:34
Definition: MemStore.h:30
Definition: RequestFlags.h:23
Definition: Store.h:42
High-level store statistics used by mgr:info action. Used inside PODs!
Definition: StoreStats.h:14
Definition: StoreSearch.h:16
Definition: Controller.h:23
void memoryOut(StoreEntry &, const bool preserveSwappable)
called to get rid of no longer needed entry data in RAM, if any
Definition: Controller.cc:589
void checkFoundCandidate(const StoreEntry &) const
flags problematic entries before find() commits to finalizing/returning them
Definition: Controller.cc:328
StoreEntry * findCallbackXXX(const cache_key *)
Definition: Controller.cc:395
bool markedForDeletionAndAbandoned(const StoreEntry &) const
Definition: Controller.cc:312
StoreEntry * peekAtLocal(const cache_key *)
Definition: Controller.cc:411
void checkTransients(const StoreEntry &) const
Definition: Controller.cc:926
int transientReaders(const StoreEntry &) const
number of the transient entry readers some time ago
Definition: Controller.cc:632
void noteStoppedSharedWriting(StoreEntry &)
adjust shared state after this worker stopped changing the entry
Definition: Controller.cc:625
void addReading(StoreEntry *, const cache_key *)
Definition: Controller.cc:753
void addWriting(StoreEntry *, const cache_key *)
Definition: Controller.cc:761
void handleIdleEntry(StoreEntry &)
called when the entry is no longer needed by any transaction
Definition: Controller.cc:646
bool allowCollapsing(StoreEntry *, const RequestFlags &, const HttpRequestMethod &)
tries to make the entry available for collapsing future requests
Definition: Controller.cc:735
bool transientsReader(const StoreEntry &) const
whether the entry is in "reading from Transients" I/O state
Definition: Controller.cc:468
void referenceBusy(StoreEntry &e)
update reference counters of the recently touched entry
Definition: Controller.cc:237
void freeMemorySpace(const int spaceRequired)
Definition: Controller.cc:530
void maintain() override
perform regular periodic maintenance; TODO: move to UFSSwapDir::Maintain
Definition: Controller.cc:92
void syncCollapsed(const sfileno)
Update local intransit entry after changes made by appending worker.
Definition: Controller.cc:773
uint64_t minSize() const override
the minimum size the store will shrink to via normal housekeeping
Definition: Controller.cc:166
void memoryDisconnect(StoreEntry &)
disassociates the entry from the memory cache, preserving cached data
Definition: Controller.cc:617
bool hasReadableDiskEntry(const StoreEntry &) const
whether there is a disk entry with e.key
Definition: Controller.cc:321
bool markedForDeletion(const cache_key *key) const
Definition: Controller.cc:305
bool updateOnNotModified(StoreEntry *old, StoreEntry &e304)
Definition: Controller.cc:695
void transientsDisconnect(StoreEntry &)
disassociates the entry from the intransit table
Definition: Controller.cc:639
int64_t accumulateMore(StoreEntry &) const
Definition: Controller.cc:480
bool memoryCacheHasSpaceFor(const int pagesRequired) const
whether the memory cache is allowed to store that many additional pages
Definition: Controller.cc:521
static int store_dirs_rebuilding
the number of cache_dirs being rebuilt; TODO: move to Disks::Rebuilding
Definition: Controller.h:134
int memoryPagesDebt_
Hack: Relays page shortage from freeMemorySpace() to handleIdleEntry().
Definition: Controller.h:162
int64_t maxObjectSize() const override
the maximum size of a storable object; -1 if unlimited
Definition: Controller.cc:187
void memoryEvictCached(StoreEntry &)
Definition: Controller.cc:606
bool transientsWriter(const StoreEntry &) const
whether the entry is in "writing to Transients" I/O state
Definition: Controller.cc:474
void create() override
create system resources needed for this store to operate in the future
Definition: Controller.cc:78
bool dereferenceIdle(StoreEntry &, bool wantsLocalMemory)
Definition: Controller.cc:262
void allowSharing(StoreEntry &, const cache_key *)
indexes and adds SMP-tracking for an ephemeral peek() result
Definition: Controller.cc:370
void transientsUnlinkByKeyIfFound(const cache_key *)
void evictIfFound(const cache_key *) override
Definition: Controller.cc:501
uint64_t currentCount() const override
the total number of objects stored right now
Definition: Controller.cc:180
int callback() override
called once every main loop iteration; TODO: Move to UFS code.
Definition: Controller.cc:229
bool keepForLocalMemoryCache(StoreEntry &e) const
whether e should be kept in local RAM for possible future caching
Definition: Controller.cc:572
Definition: Storage.h:24
Definition: Transients.h:28
class Ping::pingStats_ stats
Definition: SquidConfig.h:62
void Init(Controller *root=nullptr)
initialize the storage module; a custom root is used by unit tests only
Definition: Controller.cc:945