#include <CapturingStoreEntry.h>
Public Member Functions | |
CapturingStoreEntry () | |
void | buffer () override |
void | flush () override |
void | append (char const *buf, int len) override |
Appends a c-string to existing packed data. More... | |
bool | checkDeferRead (int fd) const |
const char * | getMD5Text () const |
MemObject & | mem () |
const MemObject & | mem () const |
const HttpReply * | hasFreshestReply () const |
void | write (StoreIOBuffer) |
bool | isEmpty () const |
bool | isAccepting () const |
size_t | bytesWanted (Range< size_t > const aRange, bool ignoreDelayPool=false) const |
void | completeSuccessfully (const char *whyWeAreSureWeStoredTheWholeReply) |
void | completeTruncated (const char *whyWeConsiderTheReplyTruncated) |
void | complete () |
store_client_t | storeClientType () const |
const char * | getSerialisedMetaData (size_t &length) const |
void | storeErrorResponse (HttpReply *reply) |
Store a prepared error response. MemObject locks the reply object. More... | |
void | replaceHttpReply (const HttpReplyPointer &, const bool andStartWriting=true) |
void | startWriting () |
bool | mayStartSwapOut () |
whether we may start writing to disk (now or in the future) More... | |
void | trimMemory (const bool preserveSwappable) |
void | memOutDecision (const bool willCacheInRam) |
void | swapOutDecision (const MemObject::SwapOut::Decision &decision) |
void | storeWriterDone () |
called when a store writer ends its work (successfully or not) More... | |
void | abort () |
bool | makePublic (const KeyScope keyScope=ksDefault) |
void | makePrivate (const bool shareable) |
void | clearPrivate () |
bool | setPublicKey (const KeyScope keyScope=ksDefault) |
void | clearPublicKeyScope () |
const cache_key * | publicKey () const |
void | setPrivateKey (const bool shareable, const bool permanent) |
void | expireNow () |
void | releaseRequest (const bool shareable=false) |
void | negativeCache () |
bool | cacheNegatively () |
void | invokeHandlers () |
void | cacheInMemory () |
start or continue storing in memory cache More... | |
void | swapOut () |
bool | swappingOut () const |
whether we are in the process of writing this entry to disk More... | |
bool | swappedOut () const |
whether the entire entry is now on disk (possibly marked for deletion) More... | |
bool | swapoutFailed () const |
whether we failed to write this entry to disk More... | |
void | swapOutFileClose (int how) |
const char * | url () const |
bool | checkCachable () |
int | checkNegativeHit () const |
int | locked () const |
int | validToSend () const |
bool | memoryCachable () |
checkCachable() and can be cached in memory More... | |
void | createMemObject () |
void | createMemObject (const char *storeId, const char *logUri, const HttpRequestMethod &aMethod) |
initialize mem_obj with URIs/method; assert if mem_obj already exists More... | |
void | ensureMemObject (const char *storeId, const char *logUri, const HttpRequestMethod &aMethod) |
initialize mem_obj (if needed) and set URIs/method (if missing) More... | |
void | dump (int debug_lvl) const |
void | hashDelete () |
void | hashInsert (const cache_key *) |
void | registerAbortCallback (const AsyncCall::Pointer &) |
notify the StoreEntry writer of a 3rd-party initiated StoreEntry abort More... | |
void | reset () |
void | setMemStatus (mem_status_t) |
bool | timestampsSet () |
void | unregisterAbortCallback (const char *reason) |
void | destroyMemObject () |
int | checkTooSmall () |
void | setNoDelay (bool const) |
void | lastModified (const time_t when) |
time_t | lastModified () const |
const char * | describeTimestamps () const |
bool | modifiedSince (const time_t ims, const int imslen=-1) const |
bool | hasIfMatchEtag (const HttpRequest &request) const |
has ETag matching at least one of the If-Match etags More... | |
bool | hasIfNoneMatchEtag (const HttpRequest &request) const |
has ETag matching at least one of the If-None-Match etags More... | |
bool | hasEtag (ETag &etag) const |
whether this entry has an ETag; if yes, puts ETag value into parameter More... | |
bool | updateOnNotModified (const StoreEntry &e304) |
Store::Disk & | disk () const |
the disk this entry is [being] cached on; asserts for entries w/o a disk More... | |
bool | hasDisk (const sdirno dirn=-1, const sfileno filen=-1) const |
void | attachToDisk (const sdirno, const sfileno, const swap_status_t) |
void | detachFromDisk () |
bool | hasTransients () const |
whether there is a corresponding locked transients table entry More... | |
bool | hasMemStore () const |
whether there is a corresponding locked shared memory table entry More... | |
bool | hittingRequiresCollapsing () const |
whether this entry can feed collapsed requests and only them More... | |
void | setCollapsingRequirement (const bool required) |
allow or forbid collapsed requests feeding More... | |
void * | operator new (size_t byteCount) |
void | operator delete (void *address) |
int64_t | objectLen () const |
int64_t | contentLen () const |
void | lock (const char *context) |
int | unlock (const char *context) |
int | locks () const |
returns a local concurrent use counter, for debugging More... | |
void | touch () |
update last reference timestamp and related Store metadata More... | |
void | release (const bool shareable=false) |
void | abandon (const char *context) |
bool | mayStartHitting () const |
void | deferProducer (const AsyncCall::Pointer &producer) |
call back producer when more buffer space is available More... | |
void | kickProducer () |
calls back producer registered with deferProducer More... | |
void | vappendf (const char *, va_list) override |
void | appendf (const char *fmt,...) PRINTF_FORMAT_ARG2 |
Append operation with printf-style arguments. More... | |
Static Public Member Functions | |
static size_t | inUseCount () |
Public Attributes | |
String | _appended_text |
int | _buffer_calls |
int | _flush_calls |
MemObject * | mem_obj |
RemovalPolicyNode | repl |
time_t | timestamp |
time_t | lastref |
time_t | expires |
uint64_t | swap_file_sz |
uint16_t | refcount |
uint16_t | flags |
sfileno | swap_filen:25 |
unique ID inside a cache_dir for swapped out entries; -1 for others More... | |
sdirno | swap_dirn:7 |
mem_status_t | mem_status:3 |
ping_status_t | ping_status:3 |
store_status_t | store_status:3 |
swap_status_t | swap_status:3 |
ESIElement::Pointer | cachedESITree |
void * | key |
hash_link * | next |
Protected Types | |
typedef Store::EntryGuard | EntryGuard |
Protected Member Functions | |
void | storeWritingCheckpoint () |
void | checkDisk () const |
does nothing except throwing if disk-associated data members are inconsistent More... | |
Private Member Functions | |
MEMPROXY_CLASS (CapturingStoreEntry) | |
void | doAbandon (const char *context) |
bool | checkTooBig () const |
void | forcePublicKey (const cache_key *newkey) |
StoreEntry * | adjustVary () |
const cache_key * | calcPublicKey (const KeyScope keyScope) |
void | lengthWentBad (const char *reason) |
flags [truncated or too big] entry with ENTRY_BAD_LENGTH and releases it More... | |
bool | validLength () const |
bool | hasOneOfEtags (const String &reqETags, const bool allowWeakMatch) const |
whether at least one of the request ETags matches entity ETag More... | |
Private Attributes | |
time_t | lastModified_ |
received Last-Modified value or -1; use lastModified() More... | |
unsigned short | lock_count |
bool | shareableWhenPrivate |
AsyncCall::Pointer | deferredProducer |
producer callback registered with deferProducer More... | |
Static Private Attributes | |
static Mem::Allocator * | pool = nullptr |
Detailed Description
Definition at line 16 of file CapturingStoreEntry.h.
Member Typedef Documentation
◆ EntryGuard
|
protectedinherited |
Constructor & Destructor Documentation
◆ CapturingStoreEntry()
|
inline |
Definition at line 21 of file CapturingStoreEntry.h.
Member Function Documentation
◆ abandon()
|
inlineinherited |
One of the three methods to get rid of an unlocked StoreEntry object. May destroy this object if it is unlocked; does nothing otherwise. Unlike release(), may not trigger eviction of underlying store entries, but, unlike destroyStoreEntry(), does honor an earlier release request.
Definition at line 284 of file Store.h.
References StoreEntry::doAbandon(), and StoreEntry::locked().
Referenced by StoreEntry::unlock().
◆ abort()
|
inherited |
Definition at line 1063 of file store.cc.
References MemObject::abortCallback, StatCounters::aborted_requests, assert, debugs, EBIT_CLR, EBIT_SET, ENTRY_ABORTED, ENTRY_FWD_HDR_WAIT, StoreEntry::flags, StoreEntry::getMD5Text(), StoreEntry::invokeHandlers(), StoreEntry::lock(), StoreEntry::mem_obj, StoreEntry::negativeCache(), NOT_IN_MEMORY, StoreEntry::releaseRequest(), ScheduleCallHere, StoreEntry::setMemStatus(), statCounter, STORE_OK, STORE_PENDING, StoreEntry::store_status, StoreEntry::swapOutFileClose(), StoreEntry::unlock(), and StoreIOState::writerGone.
Referenced by FwdState::connectedToPeer(), FwdState::dispatch(), peerCountMcastPeersAbort(), storeUnregister(), StoreEntry::swapOut(), and Store::Controller::syncCollapsed().
◆ adjustVary()
|
privateinherited |
Updates mem_obj->request->vary_headers to reflect the current Vary. The vary_headers field is used to calculate the Vary marker key. Releases the old Vary marker with an outdated key (if any).
- Returns
- new (locked) Vary marker StoreEntry or, if none was needed, nil
- Exceptions
-
std::exception on failures
Definition at line 651 of file store.cc.
References assert, SBuf::clear(), SBuf::cmp(), StoreEntry::completeSuccessfully(), HttpRequest::flags, MemObject::freshestReply(), RefCount< C >::getRaw(), Http::HDR_X_ACCELERATOR_VARY, Http::Message::header, httpMakeVaryMark(), SBuf::isEmpty(), MemObject::logUri(), StoreEntry::makePublic(), StoreEntry::mem_obj, HttpRequest::method, MemObject::method, HttpHeader::putStr(), StoreEntry::replaceHttpReply(), MemObject::request, Http::scOkay, HttpReply::setHeaders(), squid_curtime, StoreEntry::startWriting(), storeCreateEntry(), storeGetPublic(), MemObject::storeId(), TexcHere, StoreEntry::timestampsSet(), StoreEntry::unlock(), Http::VARY, HttpRequest::vary_headers, and MemObject::vary_headers.
Referenced by StoreEntry::setPublicKey().
◆ append()
|
inlineoverridevirtual |
Reimplemented from StoreEntry.
Definition at line 35 of file CapturingStoreEntry.h.
References _appended_text, and String::append().
◆ appendf()
|
inlineinherited |
Definition at line 61 of file Packable.h.
References Packable::vappendf().
Referenced by Ftp::Server::acceptDataConnection(), aclParseAccessLine(), aclParseAclList(), Format::Format::assemble(), HttpStateData::buildRequestPrefix(), clientPackRangeHdr(), clientPackTermBound(), ErrorState::compileLegacyCode(), ErrorState::Dump(), EventScheduler::dump(), dump_cachemgrpasswd(), store_client::dumpStats(), Adaptation::Icap::ModXact::encapsulateHead(), Adaptation::Icap::Xaction::fillDoneStatus(), Adaptation::Icap::ModXact::fillDoneStatus(), Adaptation::Icap::Xaction::fillPendingStatus(), Adaptation::Icap::ModXact::fillPendingStatus(), HttpStateData::getMoreRequestBody(), Ftp::Server::handleEpsvReply(), Ftp::Server::handlePasvReply(), helperDispatch(), httpHdrContRangePackInto(), httpHdrRangeRespSpecPackInto(), internalRemoteUri(), Adaptation::Icap::ModXact::makeAllowHeader(), Adaptation::Icap::OptXact::makeRequest(), Adaptation::Icap::ModXact::makeRequestHeaders(), Adaptation::Icap::ModXact::makeUsernameHeader(), memBufReport(), munge_menu_line(), munge_other_line(), Adaptation::Icap::ModXact::openChunk(), HttpRequest::pack(), Http::Stream::packChunk(), HttpRequest::packFirstLineInto(), Http::StatusLine::packInto(), HttpHdrCc::packInto(), HttpHdrScTarget::packInto(), HttpHdrRangeSpec::packInto(), Helper::Client::packStatsInto(), Acl::AllOf::parse(), Ftp::PrintReply(), Ftp::Client::sendEprt(), Ftp::Client::sendPassive(), ExternalACLLookup::Start(), Ident::Start(), MemObject::stat(), statStoreEntry(), AsyncJob::status(), BodyPipe::status(), Adaptation::Ecap::XactionRep::status(), Adaptation::Icap::ServiceRep::status(), Adaptation::Icap::Xaction::status(), Http::Tunneler::status(), Comm::TcpAcceptor::status(), Ipc::Inquirer::status(), Security::PeerConnector::status(), wordlistCat(), Ftp::Server::writeCustomReply(), Ftp::Server::writeEarlyReply(), Ftp::Server::writeErrorReply(), and Http::Tunneler::writeRequest().
◆ attachToDisk()
|
inherited |
Makes hasDisk(dirn, filn) true. The caller should have locked the corresponding disk store entry for reading or writing.
Definition at line 1926 of file store.cc.
References StoreEntry::checkDisk(), debugs, StoreEntry::getMD5Text(), StoreEntry::swap_dirn, StoreEntry::swap_filen, StoreEntry::swap_status, and swapStatusStr.
Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), Rock::SwapDir::anchorEntry(), and storeSwapOutStart().
◆ buffer()
|
inlineoverridevirtual |
disable sending content to the clients.
This just sets DELAY_SENDING.
Reimplemented from StoreEntry.
Definition at line 27 of file CapturingStoreEntry.h.
References _buffer_calls.
◆ bytesWanted()
|
inherited |
Definition at line 212 of file store.cc.
References Range< C, S >::end, StoreEntry::mem_obj, MemObject::mostBytesWanted(), and MemObject::readAheadPolicyCanRead().
Referenced by StoreEntry::checkDeferRead(), Client::handleMoreAdaptedBodyAvailable(), ClientHttpRequest::noteMoreBodyDataAvailable(), and HttpStateData::readReply().
◆ cacheInMemory()
|
inherited |
◆ cacheNegatively()
|
inherited |
Definition at line 187 of file store.cc.
References StoreEntry::makePublic(), and StoreEntry::negativeCache().
Referenced by HttpStateData::haveParsedReplyHeaders().
◆ calcPublicKey()
Calculates correct public key for feeding forcePublicKey(). Assumes adjustVary() has been called for this entry already.
Definition at line 638 of file store.cc.
References assert, RefCount< C >::getRaw(), StoreEntry::mem_obj, MemObject::method, MemObject::request, MemObject::storeId(), storeKeyPublic(), and storeKeyPublicByRequest().
Referenced by StoreEntry::clearPublicKeyScope(), and StoreEntry::setPublicKey().
◆ checkCachable()
|
inherited |
Satisfies cachability requirements shared among disk and RAM caches. Encapsulates common checks of mayStartSwapOut() and memoryCachable(). TODO: Rename and make private so only those two methods can call this.
Definition at line 915 of file store.cc.
References StoreEntry::checkTooBig(), StoreEntry::checkTooSmall(), debugs, _store_check_cachable_hist::Default, EBIT_TEST, ENTRY_BAD_LENGTH, fdNFree(), StoreEntry::flags, StoreEntry::hasDisk(), KEY_PRIVATE, StoreEntry::mem_obj, _store_check_cachable_hist::missing_parts, _store_check_cachable_hist::no, _store_check_cachable_hist::not_entry_cachable, _store_check_cachable_hist::private_key, RELEASE_REQUEST, StoreEntry::releaseRequest(), RESERVED_FD, store_check_cachable_hist, storeTooManyDiskFilesOpen(), _store_check_cachable_hist::too_big, _store_check_cachable_hist::too_many_open_fds, _store_check_cachable_hist::too_many_open_files, _store_check_cachable_hist::too_small, _store_check_cachable_hist::wrong_content_length, and _store_check_cachable_hist::yes.
Referenced by StoreEntry::mayStartSwapOut(), StoreEntry::memoryCachable(), and storeSwapOutFileClosed().
◆ checkDeferRead()
|
inherited |
Definition at line 230 of file store.cc.
References StoreEntry::bytesWanted(), and INT_MAX.
Referenced by statObjects(), and StoreEntry::swapOut().
◆ checkDisk()
|
protectedinherited |
Definition at line 1948 of file store.cc.
References SquidConfig::cacheSwap, Config, CurrentException(), DBG_IMPORTANT, debugs, EBIT_TEST, StoreEntry::flags, Must, Store::DiskConfig::n_configured, RELEASE_REQUEST, StoreEntry::swap_dirn, StoreEntry::swap_filen, StoreEntry::swap_status, SWAPOUT_NONE, StoreEntry::swapoutFailed(), StoreEntry::swappedOut(), and StoreEntry::swappingOut().
Referenced by StoreEntry::attachToDisk(), and StoreEntry::hasDisk().
◆ checkNegativeHit()
|
inherited |
Definition at line 1286 of file store.cc.
References EBIT_TEST, ENTRY_NEGCACHED, StoreEntry::expires, StoreEntry::flags, squid_curtime, STORE_OK, and StoreEntry::store_status.
Referenced by clientReplyContext::cacheHit().
◆ checkTooBig()
|
privateinherited |
Definition at line 904 of file store.cc.
References MemObject::baseReply(), Http::Message::content_length, MemObject::endOffset(), StoreEntry::mem_obj, and store_maxobjsize.
Referenced by StoreEntry::checkCachable().
◆ checkTooSmall()
|
inherited |
Definition at line 887 of file store.cc.
References MemObject::baseReply(), Config, Http::Message::content_length, EBIT_TEST, ENTRY_SPECIAL, StoreEntry::flags, StoreEntry::mem(), StoreEntry::mem_obj, SquidConfig::minObjectSize, MemObject::object_sz, SquidConfig::Store, STORE_OK, and StoreEntry::store_status.
Referenced by StoreEntry::checkCachable().
◆ clearPrivate()
|
inherited |
A low-level method just resetting "private key" flags. To avoid key inconsistency please use forcePublicKey() or similar instead.
Definition at line 179 of file store.cc.
References assert, EBIT_CLR, EBIT_TEST, StoreEntry::flags, KEY_PRIVATE, RELEASE_REQUEST, and StoreEntry::shareableWhenPrivate.
Referenced by StoreEntry::forcePublicKey().
◆ clearPublicKeyScope()
|
inherited |
Resets existing public key to a public key with default scope, releasing the old default-scope entry (if any). Does nothing if the existing public key already has default scope.
Definition at line 595 of file store.cc.
References StoreEntry::calcPublicKey(), EBIT_TEST, StoreEntry::flags, StoreEntry::forcePublicKey(), hash_link::key, KEY_PRIVATE, ksDefault, and storeKeyHashCmp.
Referenced by clientReplyContext::sendClientUpstreamResponse().
◆ complete()
|
inherited |
- Deprecated:
- use either completeSuccessfully() or completeTruncated() instead
Definition at line 1017 of file store.cc.
References assert, current_time, debugs, EBIT_CLR, EBIT_TEST, MemObject::endOffset(), ENTRY_ABORTED, ENTRY_BAD_LENGTH, ENTRY_FWD_HDR_WAIT, StoreEntry::flags, StoreEntry::getMD5Text(), HttpRequest::hier, StoreEntry::invokeHandlers(), StoreEntry::lengthWentBad(), StoreEntry::mem_obj, StoreEntry::mem_status, MemObject::nclients, NOT_IN_MEMORY, MemObject::object_sz, MemObject::request, HierarchyLogEntry::store_complete_stop, STORE_OK, STORE_PENDING, StoreEntry::store_status, and StoreEntry::validLength().
Referenced by TestRock::addEntry(), StoreEntry::completeSuccessfully(), StoreEntry::completeTruncated(), Mgr::Action::fillEntry(), ClientHttpRequest::handleAdaptedHeader(), internalStart(), MimeIcon::load(), netdbBinaryExchange(), clientReplyContext::processMiss(), clientReplyContext::purgeDoPurge(), clientReplyContext::sendNotModified(), CacheManager::start(), statObjects(), storeDigestRewriteFinish(), TestUfs::testUfsSearch(), clientReplyContext::traceReply(), and urnHandleReply().
◆ completeSuccessfully()
|
inherited |
Signals that the entire response has been stored and no more append() calls should be expected; cf. completeTruncated().
Definition at line 1003 of file store.cc.
References StoreEntry::complete(), and debugs.
Referenced by StoreEntry::adjustVary(), FwdState::completed(), ClientHttpRequest::endRequestSatisfaction(), and StoreEntry::storeErrorResponse().
◆ completeTruncated()
|
inherited |
Signals that a partial response (if any) has been stored but no more append() calls should be expected; cf. completeSuccessfully().
Definition at line 1010 of file store.cc.
References StoreEntry::complete(), and StoreEntry::lengthWentBad().
Referenced by FwdState::completed(), and ClientHttpRequest::endRequestSatisfaction().
◆ contentLen()
|
inlineinherited |
Definition at line 258 of file Store.h.
References MemObject::baseReply(), Http::Message::hdr_sz, StoreEntry::mem(), and StoreEntry::objectLen().
Referenced by ClientHttpRequest::logRequest(), store_client::moreToRead(), and storeLog().
◆ createMemObject() [1/2]
|
inherited |
initialize mem_obj; assert if mem_obj already exists avoid this method in favor of createMemObject(trio)!
Definition at line 1561 of file store.cc.
References assert, and StoreEntry::mem_obj.
Referenced by MemStore::get(), Transients::get(), Rock::SwapDir::get(), storeCreatePureEntry(), TestStoreController::testMaxSize(), TestStoreHashIndex::testMaxSize(), TestStoreController::testStats(), and TestStoreHashIndex::testStats().
◆ createMemObject() [2/2]
|
inherited |
Definition at line 1568 of file store.cc.
References assert, StoreEntry::ensureMemObject(), and StoreEntry::mem_obj.
◆ deferProducer()
|
inherited |
Definition at line 352 of file store.cc.
References debugs, and StoreEntry::deferredProducer.
Referenced by Client::handleMoreAdaptedBodyAvailable(), and ClientHttpRequest::noteMoreBodyDataAvailable().
◆ describeTimestamps()
|
inherited |
- Returns
- a formatted string with entry's timestamps
Definition at line 1987 of file store.cc.
References StoreEntry::expires, StoreEntry::lastModified_, StoreEntry::lastref, LOCAL_ARRAY, and StoreEntry::timestamp.
Referenced by statStoreEntry(), and StoreEntry::timestampsSet().
◆ destroyMemObject()
|
inherited |
Definition at line 372 of file store.cc.
References debugs, StoreEntry::hasMemStore(), StoreEntry::hasTransients(), StoreEntry::mem_obj, Store::Controller::memoryDisconnect(), NOT_IN_MEMORY, Store::Root(), StoreEntry::setMemStatus(), and Store::Controller::transientsDisconnect().
Referenced by destroyStoreEntry(), MemStore::evictCached(), and Store::Controller::memoryEvictCached().
◆ detachFromDisk()
|
inherited |
Makes hasDisk() false. The caller should have unlocked the corresponding disk store entry.
Definition at line 1940 of file store.cc.
References StoreEntry::swap_dirn, StoreEntry::swap_filen, StoreEntry::swap_status, and SWAPOUT_NONE.
Referenced by Rock::SwapDir::disconnect(), and Fs::Ufs::UFSSwapDir::evictCached().
◆ disk()
|
inherited |
Definition at line 1906 of file store.cc.
References assert, StoreEntry::hasDisk(), INDEXSD, and StoreEntry::swap_dirn.
Referenced by Store::Disks::dereference(), destroyStoreEntry(), Store::Disks::evictCached(), Store::Disks::reference(), storeCleanup(), storeDirSwapLog(), storeOpen(), storeSwapOutFileClosed(), Store::Disks::updateAnchored(), and Store::Disks::updateHeaders().
◆ doAbandon()
|
privateinherited |
keep the unlocked StoreEntry object in the local store_table (if needed) or delete it (otherwise)
Definition at line 472 of file store.cc.
References assert, debugs, EBIT_TEST, StoreEntry::flags, Store::Controller::handleIdleEntry(), StoreEntry::locked(), StoreEntry::release(), RELEASE_REQUEST, Store::Root(), STORE_PENDING, StoreEntry::store_status, and storePendingNClients().
Referenced by StoreEntry::abandon().
◆ dump()
|
inherited |
Definition at line 1485 of file store.cc.
References debugs, StoreEntry::expires, StoreEntry::getMD5Text(), StoreEntry::lastModified_, StoreEntry::lastref, StoreEntry::lock_count, StoreEntry::mem_obj, StoreEntry::mem_status, hash_link::next, StoreEntry::ping_status, StoreEntry::refcount, StoreEntry::store_status, storeEntryFlags(), StoreEntry::swap_dirn, StoreEntry::swap_file_sz, StoreEntry::swap_filen, StoreEntry::swap_status, and StoreEntry::timestamp.
Referenced by clientReplyContext::buildReplyHeader(), Fs::Ufs::UFSSwapDir::dumpEntry(), and clientReplyContext::processMiss().
◆ ensureMemObject()
|
inherited |
Definition at line 1575 of file store.cc.
References StoreEntry::mem_obj, and MemObject::setUris().
Referenced by StoreEntry::createMemObject(), clientReplyContext::doGetMoreData(), peerDigestRequest(), and clientReplyContext::processExpired().
◆ expireNow()
|
inherited |
Definition at line 759 of file store.cc.
References debugs, StoreEntry::expires, StoreEntry::getMD5Text(), and squid_curtime.
◆ flush()
|
inlineoverridevirtual |
flush any buffered content.
This just clears DELAY_SENDING and Invokes the handlers to begin sending anything that may be buffered.
Reimplemented from StoreEntry.
Definition at line 31 of file CapturingStoreEntry.h.
References _flush_calls.
◆ forcePublicKey()
|
privateinherited |
Unconditionally sets public key for this store entry. Releases the old entry with the same public key (if any).
Definition at line 612 of file store.cc.
References assert, StoreEntry::clearPrivate(), debugs, StoreEntry::hasDisk(), hash_lookup(), StoreEntry::hashDelete(), StoreEntry::hashInsert(), MemObject::hasUris(), hash_link::key, StoreEntry::mem_obj, store_table, storeDirSwapLog(), storeKeyText(), and SWAP_LOG_ADD.
Referenced by StoreEntry::clearPublicKeyScope(), and StoreEntry::setPublicKey().
◆ getMD5Text()
|
inherited |
Definition at line 206 of file store.cc.
References hash_link::key, and storeKeyText().
Referenced by StoreEntry::abort(), StoreEntry::attachToDisk(), Store::CheckSwapMetaKey(), StoreEntry::complete(), store_client::copy(), StoreEntry::dump(), StoreEntry::expireNow(), HeapKeyGen_StoreEntry_GDSF(), HeapKeyGen_StoreEntry_LFUDA(), HeapKeyGen_StoreEntry_LRU(), StoreEntry::invokeHandlers(), StoreEntry::lock(), neighborsUdpPing(), HttpStateData::processReplyHeader(), ClientHttpRequest::rangeBoundaryStr(), StoreEntry::release(), StoreEntry::setMemStatus(), statClientRequests(), statStoreEntry(), storeClientCopy2(), storeDigestAdd(), storeDigestAddable(), storeDigestDel(), storeDigestRewriteStart(), storeDirSwapLog(), storeLog(), storeSwapInStart(), storeUnregister(), StoreEntry::swapOutFileClose(), StoreEntry::unlock(), StoreEntry::validLength(), and StoreEntry::write().
◆ getSerialisedMetaData()
|
inherited |
- Returns
- a malloc()ed buffer containing a length-long packed swap header
Definition at line 1736 of file store.cc.
References Store::PackSwapMeta().
Referenced by storeSwapOutStart().
◆ hasDisk()
whether one of this StoreEntry owners has locked the corresponding disk entry (at the specified disk entry coordinates, if any)
Definition at line 1915 of file store.cc.
References StoreEntry::checkDisk(), Must, StoreEntry::swap_dirn, and StoreEntry::swap_filen.
Referenced by store_client::store_client(), MemStore::anchorEntry(), Store::Controller::anchorToCache(), Rock::SwapDir::anchorToCache(), Store::Disks::anchorToCache(), Store::Disk::canLog(), StoreEntry::checkCachable(), Store::Controller::dereferenceIdle(), destroyStoreEntry(), Rock::SwapDir::disconnect(), StoreEntry::disk(), Rock::SwapDir::evictCached(), Fs::Ufs::UFSSwapDir::evictCached(), Store::Disks::evictCached(), StoreEntry::forcePublicKey(), StoreEntry::mayStartSwapOut(), store_client::moreToRead(), neighborsUdpPing(), Rock::SwapDir::openStoreIO(), Store::Controller::referenceBusy(), StoreEntry::release(), Fs::Ufs::UFSSwapDir::replacementRemove(), storeCleanup(), storeDirSwapLog(), storeSwapInStart(), storeSwapOutStart(), StoreEntry::swapOut(), Store::Controller::syncCollapsed(), Rock::SwapDir::updateAnchored(), Store::Disks::updateAnchored(), and StoreEntry::validToSend().
◆ hasEtag()
|
inherited |
Definition at line 1848 of file store.cc.
References Http::ETAG, StoreEntry::hasFreshestReply(), and ETag::str.
Referenced by clientReplyContext::processExpired().
◆ hasFreshestReply()
|
inlineinherited |
- Return values
-
* the address of freshest reply (if mem_obj exists) nullptr when mem_obj does not exist
- See also
- MemObject::freshestReply()
Definition at line 57 of file Store.h.
References MemObject::freshestReply(), and StoreEntry::mem_obj.
Referenced by StoreEntry::hasEtag(), and refreshCheck().
◆ hashDelete()
|
inherited |
Definition at line 419 of file store.cc.
References hash_remove_link(), hash_link::key, store_table, and storeKeyFree().
Referenced by destroyStoreEntry(), StoreEntry::forcePublicKey(), and StoreEntry::setPrivateKey().
◆ hashInsert()
|
inherited |
Definition at line 410 of file store.cc.
References assert, debugs, hash_join(), hash_link::key, store_table, storeKeyDup(), and storeKeyText().
Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), Store::Controller::addReading(), StoreEntry::forcePublicKey(), and StoreEntry::setPrivateKey().
◆ hasIfMatchEtag()
|
inherited |
Definition at line 1859 of file store.cc.
References HttpHeader::getList(), StoreEntry::hasOneOfEtags(), Http::Message::header, and Http::IF_MATCH.
Referenced by clientReplyContext::processConditional().
◆ hasIfNoneMatchEtag()
|
inherited |
Definition at line 1866 of file store.cc.
References HttpRequest::flags, HttpHeader::getList(), StoreEntry::hasOneOfEtags(), Http::Message::header, Http::IF_NONE_MATCH, RequestFlags::isRanged, HttpRequest::method, Http::METHOD_GET, and Http::METHOD_HEAD.
Referenced by clientReplyContext::processConditional().
◆ hasMemStore()
|
inlineinherited |
Definition at line 213 of file Store.h.
References MemObject::MemCache::index, StoreEntry::mem_obj, and MemObject::memCache.
Referenced by Store::Controller::anchorToCache(), MemStore::anchorToCache(), StoreEntry::destroyMemObject(), MemStore::disconnect(), MemStore::evictCached(), Store::Controller::syncCollapsed(), and MemStore::updateAnchored().
◆ hasOneOfEtags()
|
privateinherited |
Definition at line 1877 of file store.cc.
References String::append(), Http::ETAG, etagIsStrongEqual(), etagIsWeakEqual(), etagParseInit(), MemObject::freshestReply(), HttpHeader::getETag(), Http::Message::header, StoreEntry::mem(), strListGetItem(), strListIsMember(), and String::termedBuf().
Referenced by StoreEntry::hasIfMatchEtag(), and StoreEntry::hasIfNoneMatchEtag().
◆ hasTransients()
|
inlineinherited |
Definition at line 211 of file Store.h.
References MemObject::XitTable::index, StoreEntry::mem_obj, and MemObject::xitTable.
Referenced by Transients::addEntry(), Store::Controller::allowCollapsing(), Store::Controller::allowSharing(), Store::Controller::anchorToCache(), CollapsedForwarding::Broadcast(), Store::Controller::checkFoundCandidate(), Store::Controller::checkTransients(), Transients::completeWriting(), StoreEntry::destroyMemObject(), Transients::disconnect(), Transients::evictCached(), Transients::hasWriter(), Transients::monitorIo(), Store::Controller::noteStoppedSharedWriting(), Transients::readers(), Transients::status(), StoreEntry::storeWritingCheckpoint(), Store::Controller::transientReaders(), Store::Controller::transientsReader(), and Store::Controller::transientsWriter().
◆ hittingRequiresCollapsing()
|
inlineinherited |
Definition at line 216 of file Store.h.
References EBIT_TEST, ENTRY_REQUIRES_COLLAPSING, and StoreEntry::flags.
Referenced by Store::Controller::allowCollapsing(), Store::Controller::allowSharing(), Store::Controller::checkFoundCandidate(), ICPState::confirmAndPrepHit(), Store::Controller::dereferenceIdle(), Ipc::StoreMapAnchor::exportInto(), StoreEntry::setCollapsingRequirement(), and StoreClient::startCollapsingOn().
◆ inUseCount()
|
staticinherited |
Definition at line 198 of file store.cc.
References Mem::Allocator::getInUseCount(), and StoreEntry::pool.
Referenced by Store::Controller::getStats(), snmp_prfSysFn(), Store::Controller::stat(), and storeDigestCalcCap().
◆ invokeHandlers()
|
inherited |
Definition at line 822 of file store_client.cc.
References MemObject::clients, CodeContext::Current(), debugs, DELAY_SENDING, EBIT_TEST, ENTRY_FWD_HDR_WAIT, StoreEntry::flags, StoreEntry::getMD5Text(), dlink_list::head, StoreEntry::mem_obj, MemObject::nclients, node::next, CodeContext::Reset(), sc, storeClientCopy2(), and StoreEntry::swapOut().
Referenced by StoreEntry::abort(), StoreEntry::complete(), StoreEntry::flush(), Store::Controller::syncCollapsed(), and StoreEntry::write().
◆ isAccepting()
|
inherited |
Definition at line 1975 of file store.cc.
References EBIT_TEST, ENTRY_ABORTED, StoreEntry::flags, STORE_PENDING, and StoreEntry::store_status.
Referenced by Client::abortOnBadEntry(), Store::Controller::checkFoundCandidate(), HttpStateData::processReplyBody(), WhoisState::readReply(), and urnHandleReply().
◆ isEmpty()
|
inlineinherited |
Check if the Store entry is empty
- Return values
-
true Store contains 0 bytes of data. false Store contains 1 or more bytes of data. false Store contains negative content !!!!!!
Definition at line 66 of file Store.h.
References MemObject::endOffset(), and StoreEntry::mem().
Referenced by FwdState::checkRetry(), FwdState::completed(), Ssl::ServerBump::connectedOk(), errorAppendEntry(), Client::handleAdaptationAborted(), Client::handleAdaptationBlocked(), ClientHttpRequest::handleAdaptationFailure(), Client::handledEarlyAdaptationAbort(), HttpStateData::handleRequestBodyProducerAborted(), FwdState::retryOrBail(), ConnStateData::serveDelayedError(), StoreEntry::startWriting(), and StoreEntry::storeClientType().
◆ kickProducer()
|
inherited |
Definition at line 362 of file store.cc.
References StoreEntry::deferredProducer, and ScheduleCallHere.
Referenced by store_client::copy(), and storeUnregister().
◆ lastModified() [1/2]
|
inlineinherited |
- Returns
- entry's 'effective' modification time
Definition at line 178 of file Store.h.
References StoreEntry::lastModified_, and StoreEntry::timestamp.
Referenced by StoreEntry::modifiedSince(), and StoreEntry::timestampsSet().
◆ lastModified() [2/2]
|
inlineinherited |
Definition at line 176 of file Store.h.
References StoreEntry::lastModified_.
Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), clientReplyContext::cacheHit(), Ipc::StoreMapAnchor::exportInto(), htcpTstReply(), Fs::Ufs::UFSSwapDir::logEntry(), peerDigestFetchSetStats(), peerDigestRequest(), clientReplyContext::processExpired(), Fs::Ufs::RebuildState::rebuildFromDirectory(), refreshIsCachable(), refreshStaleness(), Ipc::StoreMapAnchor::set(), Store::UnpackIndexSwapMeta(), and UFSCleanLog::write().
◆ lengthWentBad()
|
privateinherited |
Definition at line 995 of file store.cc.
References debugs, EBIT_SET, ENTRY_BAD_LENGTH, StoreEntry::flags, and StoreEntry::releaseRequest().
Referenced by StoreEntry::complete(), and StoreEntry::completeTruncated().
◆ lock()
|
inherited |
claim shared ownership of this entry (for use in a given context) matching lock() and unlock() contexts eases leak triage but is optional
Definition at line 431 of file store.cc.
References debugs, StoreEntry::getMD5Text(), and StoreEntry::lock_count.
Referenced by Client::Client(), Mgr::Forwarder::Forwarder(), FwdState::FwdState(), Rock::IoState::IoState(), Ssl::ServerBump::ServerBump(), store_client::store_client(), Ipc::StoreMapUpdate::StoreMapUpdate(), StoreEntry::abort(), store_client::copy(), clientReplyContext::doGetMoreData(), clientReplyContext::forgetHit(), heap_purgeNext(), MimeIcon::load(), ClientHttpRequest::loggingEntry(), peerDigestRequest(), clientReplyContext::processExpired(), StoreEntry::release(), clientReplyContext::setReplyToStoreEntry(), UrnState::start(), statObjectsStart(), storeCreateEntry(), StoreEntry::storeErrorResponse(), storeSwapOutStart(), storeUnregister(), TestPackableStream::testGetStream(), and whoisStart().
◆ locked()
|
inlineinherited |
Definition at line 146 of file Store.h.
References StoreEntry::lock_count.
Referenced by Store::EntryGuard::EntryGuard(), StoreEntry::abandon(), Store::Controller::checkFoundCandidate(), FwdState::dispatch(), StoreEntry::doAbandon(), Rock::SwapDir::evictCached(), Fs::Ufs::UFSSwapDir::evictCached(), MemStore::evictCached(), heap_purgeNext(), lru_purgeNext(), lru_stats(), Store::Controller::memoryEvictCached(), neighborsHtcpReply(), neighborsUdpAck(), StoreEntry::release(), storeDigestRewriteResume(), and Store::Controller::syncCollapsed().
◆ locks()
|
inlineinherited |
Definition at line 269 of file Store.h.
References StoreEntry::lock_count.
Referenced by statStoreEntry().
◆ makePrivate()
|
inherited |
Definition at line 173 of file store.cc.
References StoreEntry::releaseRequest().
Referenced by HttpStateData::haveParsedReplyHeaders(), HttpStateData::processSurrogateControl(), and WhoisState::readReply().
◆ makePublic()
Definition at line 166 of file store.cc.
References EBIT_TEST, StoreEntry::flags, RELEASE_REQUEST, and StoreEntry::setPublicKey().
Referenced by StoreEntry::adjustVary(), Store::Controller::allowCollapsing(), StoreEntry::cacheNegatively(), Ftp::Gateway::haveParsedReplyHeaders(), HttpStateData::haveParsedReplyHeaders(), and WhoisState::readReply().
◆ mayStartHitting()
|
inlineinherited |
May the caller commit to treating this [previously locked] entry as a cache hit?
Definition at line 288 of file Store.h.
References EBIT_TEST, StoreEntry::flags, KEY_PRIVATE, and StoreEntry::shareableWhenPrivate.
Referenced by clientReplyContext::cacheHit(), and clientReplyContext::handleIMSReply().
◆ mayStartSwapOut()
|
inherited |
Definition at line 329 of file store_swapout.cc.
References Store::Controller::accumulateMore(), assert, SquidConfig::cacheSwap, StoreEntry::checkCachable(), Config, debugs, MemObject::SwapOut::decision, EBIT_TEST, MemObject::endOffset(), ENTRY_ABORTED, ENTRY_SPECIAL, MemObject::expectedReplySize(), StoreEntry::flags, StoreEntry::hasDisk(), MemObject::inmem_lo, MemObject::isContiguous(), StoreEntry::mem_obj, Store::DiskConfig::n_configured, Store::Root(), shutting_down, store_maxobjsize, STORE_OK, StoreEntry::store_status, MemObject::swapout, StoreEntry::swapOutDecision(), StoreEntry::swappingOut(), MemObject::SwapOut::swImpossible, MemObject::SwapOut::swPossible, MemObject::SwapOut::swStarted, and StoreEntry::url().
Referenced by StoreEntry::swapOut().
◆ mem() [1/2]
|
inlineinherited |
Definition at line 51 of file Store.h.
References assert, and StoreEntry::mem_obj.
Referenced by TestRock::addEntry(), Store::Controller::anchorToCache(), MemStore::anchorToCache(), asHandleReply(), Client::blockCaching(), clientReplyContext::blockedHit(), store_client::canReadFromMemory(), Store::CheckSwapMetaUrl(), StoreEntry::checkTooSmall(), clientReplyContext::cloneReply(), FwdState::complete(), StoreEntry::contentLen(), MemStore::copyFromShm(), TestRock::createEntry(), Client::delayRead(), clientReplyContext::handleIMSReply(), StoreEntry::hasOneOfEtags(), StoreEntry::isEmpty(), netdbExchangeHandleReply(), store_client::nextHttpReadOffset(), StoreEntry::objectLen(), Store::PackFields(), peerDigestFetchReply(), HttpStateData::peerSupportsConnectionPinning(), clientReplyContext::processConditional(), store_client::readBody(), FwdState::reforward(), clientReplyContext::replyStatus(), StoreEntry::reset(), store_client::sendingHttpHeaders(), clientReplyContext::sendNotModified(), clientReplyContext::storeOKTransferDone(), TestUfs::testUfsSearch(), StoreEntry::timestampsSet(), store_client::tryParsingHttpHeaders(), Store::UnpackHitSwapMeta(), Store::UnpackNewSwapMetaVaryHeaders(), MemStore::updateHeadersOrThrow(), urnHandleReply(), and varyEvaluateMatch().
◆ mem() [2/2]
|
inlineinherited |
Definition at line 52 of file Store.h.
References assert, and StoreEntry::mem_obj.
◆ memoryCachable()
|
inherited |
Definition at line 1262 of file store.cc.
References StoreEntry::checkCachable(), Config, MemObject::data_hdr, MemObject::inmem_lo, StoreEntry::mem_obj, SquidConfig::memory_cache_first, SquidConfig::onoff, StoreEntry::refcount, shutting_down, mem_hdr::size(), and StoreEntry::swappedOut().
Referenced by Store::Controller::keepForLocalMemoryCache(), and MemStore::shouldCache().
◆ memOutDecision()
|
inherited |
Definition at line 1777 of file store.cc.
References assert, MemObject::MemCache::io, Store::ioDone, StoreEntry::mem_obj, MemObject::memCache, and StoreEntry::storeWritingCheckpoint().
Referenced by MemStore::startCaching(), and MemStore::write().
◆ MEMPROXY_CLASS()
|
private |
◆ modifiedSince()
|
inherited |
Definition at line 1822 of file store.cc.
References assert, debugs, StoreEntry::lastModified(), and StoreEntry::url().
Referenced by clientIfRangeMatch(), clientReplyContext::handleIMSReply(), and clientReplyContext::processConditional().
◆ negativeCache()
|
inherited |
Set object for negative caching. Preserves any expiry information given by the server. In absence of proper expiry info it will set to expire immediately, or with HTTP-violations enabled the configured negative-TTL is observed
Definition at line 1307 of file store.cc.
References Config, debugs, EBIT_SET, ENTRY_NEGCACHED, StoreEntry::expires, StoreEntry::flags, SquidConfig::negativeTtl, and squid_curtime.
Referenced by StoreEntry::abort(), StoreEntry::cacheNegatively(), and StoreEntry::storeErrorResponse().
◆ objectLen()
|
inlineinherited |
Definition at line 257 of file Store.h.
References StoreEntry::mem(), and MemObject::object_sz.
Referenced by StoreEntry::contentLen(), store_client::doCopy(), store_client::maybeWriteFromDiskToMemory(), store_client::moreToRead(), clientReplyContext::storeOKTransferDone(), storeSwapOutFileClosed(), StoreEntry::validLength(), and Http::Stream::writeComplete().
◆ operator delete()
|
inherited |
◆ operator new()
|
inherited |
Definition at line 148 of file store.cc.
References assert, and memPoolCreate.
◆ publicKey()
|
inlineinherited |
- Returns
- public key (if the entry has it) or nil (otherwise)
Definition at line 113 of file Store.h.
References EBIT_TEST, StoreEntry::flags, hash_link::key, and KEY_PRIVATE.
Referenced by Rock::SwapDir::evictCached(), MemStore::evictCached(), Store::Disks::evictCached(), and Rock::SwapDir::openStoreIO().
◆ registerAbortCallback()
|
inherited |
Definition at line 1467 of file store.cc.
References MemObject::abortCallback, assert, handler(), and StoreEntry::mem_obj.
Referenced by Ftp::Relay::Relay(), and FwdState::start().
◆ release()
|
inherited |
One of the three methods to get rid of an unlocked StoreEntry object. Removes all unlocked (and marks for eventual removal all locked) Store entries, including attached and unattached entries that have our key. Also destroys us if we are unlocked or makes us private otherwise.
Definition at line 1132 of file store.cc.
References debugs, destroyStoreEntry(), Store::Controller::evictCached(), StoreEntry::getMD5Text(), StoreEntry::hasDisk(), LateReleaseStack, StoreEntry::lock(), StoreEntry::locked(), StoreEntry::releaseRequest(), Store::Root(), Store::Controller::store_dirs_rebuilding, STORE_LOG_RELEASE, and storeLog().
Referenced by StoreEntry::doAbandon(), Store::Controller::handleIdleEntry(), clientReplyContext::handleIMSReply(), Ftp::Gateway::haveParsedReplyHeaders(), httpMaybeRemovePublic(), Fs::Ufs::UFSSwapDir::maintain(), clientReplyContext::purgeEntry(), Client::setFinalReply(), Store::Controller::syncCollapsed(), and TestRock::testRockSwapOut().
◆ releaseRequest()
|
inherited |
Makes the StoreEntry private and marks the corresponding entry for eventual removal from the Store.
Definition at line 444 of file store.cc.
References debugs, EBIT_TEST, StoreEntry::flags, RELEASE_REQUEST, StoreEntry::setPrivateKey(), and StoreEntry::shareableWhenPrivate.
Referenced by HttpStateData::HttpStateData(), Ftp::Relay::Relay(), StoreEntry::abort(), StoreEntry::checkCachable(), htcpClrStoreEntry(), StoreEntry::lengthWentBad(), StoreEntry::makePrivate(), Store::EntryGuard::onException(), peerDigestFetchFinish(), peerDigestFetchReply(), clientReplyContext::processMiss(), StoreEntry::release(), StoreEntry::storeErrorResponse(), storeSwapOutFileClosed(), and clientReplyContext::traceReply().
◆ replaceHttpReply()
|
inherited |
Definition at line 1691 of file store.cc.
References DBG_CRITICAL, debugs, StoreEntry::mem_obj, MemObject::replaceBaseReply(), StoreEntry::startWriting(), and StoreEntry::url().
Referenced by StoreEntry::adjustVary(), Mgr::Action::fillEntry(), ftpFail(), ftpSendReply(), ClientHttpRequest::handleAdaptedHeader(), internalStart(), MimeIcon::load(), netdbBinaryExchange(), clientReplyContext::processMiss(), clientReplyContext::purgeDoPurge(), clientReplyContext::sendNotModified(), Client::setFinalReply(), Ftp::Server::setReply(), WhoisState::setReplyToOK(), CacheManager::start(), storeDigestRewriteResume(), StoreEntry::storeErrorResponse(), clientReplyContext::traceReply(), and urnHandleReply().
◆ reset()
|
inherited |
Definition at line 1607 of file store.cc.
References debugs, StoreEntry::expires, StoreEntry::lastModified_, StoreEntry::mem(), MemObject::reset(), StoreEntry::timestamp, and StoreEntry::url().
Referenced by FwdState::complete(), and HttpStateData::continueAfterParsingHeader().
◆ setCollapsingRequirement()
|
inherited |
Definition at line 1999 of file store.cc.
References debugs, EBIT_CLR, EBIT_SET, ENTRY_REQUIRES_COLLAPSING, StoreEntry::flags, and StoreEntry::hittingRequiresCollapsing().
Referenced by Store::Controller::allowCollapsing(), Store::Controller::anchorToCache(), StoreEntry::startWriting(), and Store::Controller::syncCollapsed().
◆ setMemStatus()
|
inherited |
Definition at line 1510 of file store.cc.
References RemovalPolicy::Add, assert, debugs, EBIT_TEST, MemStore::Enabled(), ENTRY_SPECIAL, StoreEntry::flags, StoreEntry::getMD5Text(), hot_obj_count, IN_MEMORY, MemObject::inmem_lo, StoreEntry::mem_obj, mem_policy, StoreEntry::mem_status, RemovalPolicy::Remove, and MemObject::repl.
Referenced by StoreEntry::abort(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), MemStore::anchorEntry(), MemStore::copyFromShm(), StoreEntry::destroyMemObject(), and Store::Controller::handleIdleEntry().
◆ setNoDelay()
|
inherited |
Definition at line 236 of file store.cc.
References StoreEntry::mem_obj, and MemObject::setNoDelay().
Referenced by HttpStateData::HttpStateData().
◆ setPrivateKey()
|
inherited |
Either fills this entry with private key or changes the existing key from public to private.
- Parameters
-
permanent whether this entry should be private forever.
Definition at line 534 of file store.cc.
References assert, debugs, EBIT_SET, EBIT_TEST, Store::Controller::evictCached(), StoreEntry::flags, getKeyCounter(), hash_lookup(), StoreEntry::hashDelete(), StoreEntry::hashInsert(), MemObject::hasUris(), MemObject::id, hash_link::key, KEY_PRIVATE, StoreEntry::mem_obj, RELEASE_REQUEST, Store::Root(), StoreEntry::shareableWhenPrivate, store_table, and storeKeyPrivate().
Referenced by StoreEntry::releaseRequest(), and storeCreateEntry().
◆ setPublicKey()
Definition at line 561 of file store.cc.
References Store::Controller::addWriting(), StoreEntry::adjustVary(), assert, StoreEntry::calcPublicKey(), debugs, EBIT_TEST, StoreEntry::flags, StoreEntry::forcePublicKey(), hash_link::key, KEY_PRIVATE, StoreEntry::mem_obj, RELEASE_REQUEST, Store::Root(), and Store::EntryGuard::unlockAndReset().
Referenced by TestRock::createEntry(), MimeIcon::load(), StoreEntry::makePublic(), storeCreateEntry(), storeDigestRewriteResume(), and TestUfs::testUfsSearch().
◆ startWriting()
|
inherited |
pack and write reply headers and, maybe, body
Definition at line 1707 of file store.cc.
References assert, MemObject::baseReply(), StoreEntry::buffer(), StoreEntry::flush(), StoreEntry::isEmpty(), MemObject::markEndOfReplyHeaders(), StoreEntry::mem_obj, StoreEntry::setCollapsingRequirement(), and MemObject::updatedReply().
Referenced by StoreEntry::adjustVary(), StoreEntry::replaceHttpReply(), and Client::setFinalReply().
◆ storeClientType()
|
inherited |
Definition at line 250 of file store.cc.
References assert, DBG_IMPORTANT, debugs, EBIT_TEST, MemObject::endOffset(), ENTRY_ABORTED, StoreEntry::flags, MemObject::inmem_lo, StoreEntry::isEmpty(), StoreEntry::mem_obj, MemObject::nclients, MemObject::object_sz, STORE_DISK_CLIENT, STORE_MEM_CLIENT, STORE_OK, StoreEntry::store_status, StoreEntry::swap_status, SWAPOUT_NONE, StoreEntry::swapoutFailed(), and StoreEntry::swappedOut().
◆ storeErrorResponse()
|
inherited |
Definition at line 1674 of file store.cc.
References StoreEntry::buffer(), StoreEntry::completeSuccessfully(), StoreEntry::flush(), StoreEntry::lock(), StoreEntry::negativeCache(), StoreEntry::releaseRequest(), StoreEntry::replaceHttpReply(), and StoreEntry::unlock().
Referenced by errorAppendEntry(), and clientReplyContext::setReplyToReply().
◆ storeWriterDone()
|
inherited |
Definition at line 1794 of file store.cc.
References StoreEntry::storeWritingCheckpoint().
Referenced by MemStore::completeWriting(), MemStore::disconnect(), Rock::SwapDir::disconnect(), and storeSwapOutFileClosed().
◆ storeWritingCheckpoint()
|
protectedinherited |
If needed, signal transient entry readers that no more cache changes are expected and, hence, they should switch to Plan B instead of getting stuck waiting for us to start or finish storing the entry.
Definition at line 1747 of file store.cc.
References assert, debugs, MemObject::SwapOut::decision, StoreEntry::hasTransients(), MemObject::MemCache::io, Store::ioDone, StoreEntry::mem_obj, MemObject::memCache, Store::Controller::noteStoppedSharedWriting(), Store::Root(), MemObject::swapout, StoreEntry::swappingOut(), MemObject::SwapOut::swImpossible, and MemObject::SwapOut::swStarted.
Referenced by StoreEntry::memOutDecision(), StoreEntry::storeWriterDone(), and StoreEntry::swapOutDecision().
◆ swapOut()
|
inherited |
Definition at line 153 of file store_swapout.cc.
References StoreEntry::abort(), assert, MemObject::availableForSwapOut(), StoreEntry::checkDeferRead(), DBG_CRITICAL, debugs, MemObject::SwapOut::decision, doPages(), EBIT_TEST, MemObject::endOffset(), ENTRY_ABORTED, StoreEntry::flags, StoreEntry::hasDisk(), MemObject::inmem_lo, MemObject::lowestMemReaderOffset(), StoreEntry::mayStartSwapOut(), StoreEntry::mem_obj, Store::Controller::memoryOut(), MemObject::object_sz, MemObject::objectBytesOnDisk(), StoreIOState::offset(), MemObject::SwapOut::queue_offset, RELEASE_REQUEST, Store::Root(), MemObject::SwapOut::sio, SM_PAGE_SIZE, STORE_OK, STORE_PENDING, StoreEntry::store_status, storeSwapOutStart(), storeTooManyDiskFilesOpen(), MemObject::swapout, StoreEntry::swapOutFileClose(), StoreEntry::swappingOut(), MemObject::SwapOut::swPossible, StoreEntry::url(), and StoreIOState::wroteAll.
Referenced by TestRock::addEntry(), StoreEntry::invokeHandlers(), storeUnregister(), and TestUfs::testUfsSearch().
◆ swapOutDecision()
|
inherited |
Definition at line 1786 of file store.cc.
References assert, MemObject::SwapOut::decision, StoreEntry::mem_obj, StoreEntry::storeWritingCheckpoint(), and MemObject::swapout.
Referenced by StoreEntry::mayStartSwapOut(), and storeSwapOutStart().
◆ swapoutFailed()
|
inlineinherited |
Definition at line 138 of file Store.h.
References StoreEntry::swap_status, and SWAPOUT_FAILED.
Referenced by store_client::store_client(), StoreEntry::checkDisk(), StoreEntry::storeClientType(), storeSwapInStart(), and storeUnregister().
◆ swapOutFileClose()
|
inherited |
Definition at line 257 of file store_swapout.cc.
References assert, debugs, StoreEntry::getMD5Text(), RefCount< C >::getRaw(), StoreEntry::mem_obj, MemObject::SwapOut::sio, storeClose(), and MemObject::swapout.
Referenced by StoreEntry::abort(), and StoreEntry::swapOut().
◆ swappedOut()
|
inlineinherited |
Definition at line 136 of file Store.h.
References StoreEntry::swap_status, and SWAPOUT_DONE.
Referenced by Store::Disk::canLog(), StoreEntry::checkDisk(), Fs::Ufs::UFSSwapDir::evictCached(), Store::Controller::handleIdleEntry(), StoreEntry::memoryCachable(), StoreEntry::storeClientType(), and storeUnregister().
◆ swappingOut()
|
inlineinherited |
Definition at line 134 of file Store.h.
References StoreEntry::swap_status, and SWAPOUT_WRITING.
Referenced by StoreEntry::checkDisk(), doPages(), store_client::fileRead(), StoreEntry::mayStartSwapOut(), storeSwapOutFileClosed(), StoreEntry::storeWritingCheckpoint(), StoreEntry::swapOut(), and StoreEntry::validToSend().
◆ timestampsSet()
|
inherited |
Definition at line 1373 of file store.cc.
References Http::AGE, HttpReply::date, debugs, StoreEntry::describeTimestamps(), StoreEntry::expires, MemObject::freshestReply(), HttpRequest::hier, StoreEntry::lastModified(), StoreEntry::lastModified_, StoreEntry::mem(), StoreEntry::mem_obj, HierarchyLogEntry::peerResponseTime(), MemObject::request, squid_curtime, and StoreEntry::timestamp.
Referenced by TestRock::addEntry(), StoreEntry::adjustVary(), ftpWriteTransferDone(), ClientHttpRequest::handleAdaptedHeader(), Ftp::Gateway::haveParsedReplyHeaders(), HttpStateData::haveParsedReplyHeaders(), MimeIcon::load(), HttpStateData::processSurrogateControl(), WhoisState::readReply(), clientReplyContext::sendNotModified(), storeDigestRewriteFinish(), TestUfs::testUfsSearch(), and StoreEntry::updateOnNotModified().
◆ touch()
|
inherited |
Definition at line 438 of file store.cc.
References StoreEntry::lastref, and squid_curtime.
◆ trimMemory()
|
inherited |
Definition at line 1800 of file store.cc.
References debugs, EBIT_TEST, ENTRY_SPECIAL, StoreEntry::flags, IN_MEMORY, MemObject::inmem_lo, StoreEntry::mem_obj, StoreEntry::mem_status, MemObject::trimSwappable(), and MemObject::trimUnSwappable().
Referenced by Store::Controller::memoryOut().
◆ unlock()
|
inherited |
disclaim shared ownership; may remove entry from store and delete it returns remaining lock level (zero for unlocked and possibly gone entry)
Definition at line 455 of file store.cc.
References StoreEntry::abandon(), assert, debugs, StoreEntry::getMD5Text(), and StoreEntry::lock_count.
Referenced by Client::~Client(), DigestFetchState::~DigestFetchState(), FwdState::~FwdState(), netdbExchangeState::~netdbExchangeState(), PeerSelector::~PeerSelector(), store_client::~store_client(), UrnState::~UrnState(), StoreEntry::abort(), StoreEntry::adjustVary(), store_client::copy(), ClientHttpRequest::doCallouts(), clientReplyContext::forgetHit(), heap_purgeDone(), ClientHttpRequest::loggingEntry(), Store::EntryGuard::onException(), peerCountMcastPeersAbort(), peerDigestFetchFinish(), peerDigestFetchReply(), clientReplyContext::removeStoreReference(), statObjects(), storeDigestRewriteResume(), StoreEntry::storeErrorResponse(), storeLateRelease(), storeSwapOutFileClosed(), storeUnregister(), TestRock::testRockSwapOut(), TestUfs::testUfsSearch(), Store::EntryGuard::unlockAndReset(), and whoisClose().
◆ unregisterAbortCallback()
|
inherited |
Avoid notifying anybody about a 3rd-party initiated StoreEntry abort. Calling this method does not cancel the already queued notification. TODO: Refactor to represent the end of (shared) ownership by our writer.
Definition at line 1475 of file store.cc.
References MemObject::abortCallback, assert, AsyncCall::cancel(), and StoreEntry::mem_obj.
Referenced by FwdState::~FwdState().
◆ updateOnNotModified()
|
inherited |
Updates easily-accessible non-Store-specific parts of the entry. Use Controller::updateOnNotModified() instead of this helper.
- Returns
- whether anything was actually updated
Definition at line 1438 of file store.cc.
References MemObject::appliedUpdates, assert, MemObject::baseReply(), Config, debugs, MemObject::freshestReply(), Here, SquidConfig::maxReplyHeaderSize, StoreEntry::mem_obj, HttpReply::recreateOnNotModified(), StoreEntry::timestampsSet(), ToSBuf(), and MemObject::updateReply().
Referenced by Store::Controller::updateOnNotModified().
◆ url()
|
inherited |
Definition at line 1552 of file store.cc.
References StoreEntry::mem_obj, and MemObject::storeId().
Referenced by FwdState::FwdState(), Ftp::Gateway::Gateway(), netdbExchangeState::~netdbExchangeState(), PeerSelector::~PeerSelector(), FwdState::complete(), FwdState::connectStart(), HttpStateData::continueAfterParsingHeader(), FwdState::dispatch(), FwdState::fail(), ftpSendReply(), clientReplyContext::handleIMSReply(), HttpStateData::handleMoreRequestBodyAvailable(), FwdState::handleUnregisteredServerEnd(), htcpClrStoreEntry(), htcpQuery(), HttpStateData::httpBuildRequestHeader(), httpStart(), HttpStateData::httpTimeout(), HttpStateData::keepaliveAccounting(), StoreEntry::mayStartSwapOut(), StoreEntry::modifiedSince(), neighborsUdpPing(), Store::PackFields(), peerSelect(), peerSelectIcpPing(), clientReplyContext::purgeEntry(), WhoisState::readReply(), FwdState::reforward(), StoreEntry::replaceHttpReply(), StoreEntry::reset(), clientReplyContext::sendMoreData(), CacheManager::start(), FwdState::Start(), UrnState::start(), HttpStateData::statusIfComplete(), storeDigestDel(), storeSwapOutFileClosed(), storeSwapOutStart(), StoreEntry::swapOut(), FwdState::unregister(), PeerSelector::url(), urnHandleReply(), FwdState::useDestinations(), and whoisTimeout().
◆ validLength()
|
privateinherited |
whether the base response has all the body bytes we expect
- Returns
- true for responses with unknown/unspecified body length
- true for responses with the right number of accumulated body bytes
Definition at line 1190 of file store.cc.
References assert, MemObject::baseReply(), debugs, StoreEntry::getMD5Text(), StoreEntry::mem_obj, MemObject::method, Http::METHOD_HEAD, StoreEntry::objectLen(), Http::scNoContent, and Http::scNotModified.
Referenced by StoreEntry::complete().
◆ validToSend()
|
inherited |
Definition at line 1333 of file store.cc.
References EBIT_TEST, ENTRY_ABORTED, ENTRY_NEGCACHED, StoreEntry::expires, StoreEntry::flags, StoreEntry::hasDisk(), MemObject::inmem_lo, StoreEntry::mem_obj, RELEASE_REQUEST, squid_curtime, and StoreEntry::swappingOut().
Referenced by ICPState::confirmAndPrepHit().
◆ vappendf()
|
overridevirtualinherited |
Append operation, with vsprintf(3)-style arguments.
- Note
- arguments may be evaluated more than once, be careful of side-effects
XXX: This method either should not exist or should not be virtual. Kids should not be forced to re-implement vappendf() logic. That logic should be implemented once, using other [Packable] APIs. Packable is not about providing a printf(3) service. Packable is about writing opaque data to various custom destinations.
Implements Packable.
Definition at line 807 of file store.cc.
References StoreEntry::append(), assert, fatal(), LOCAL_ARRAY, and xstrerr().
Referenced by storeAppendPrintf(), and storeAppendVPrintf().
◆ write()
|
inherited |
Definition at line 766 of file store.cc.
References assert, MemObject::baseReply(), debugs, EBIT_CLR, EBIT_TEST, ENTRY_FWD_HDR_WAIT, StoreEntry::flags, StoreEntry::getMD5Text(), Http::Message::hdr_sz, StoreEntry::invokeHandlers(), StoreIOBuffer::length, StoreEntry::mem_obj, StoreIOBuffer::offset, MemObject::readAheadPolicyCanRead(), STORE_PENDING, StoreEntry::store_status, storeGetMemSpace(), and MemObject::write().
Referenced by StoreEntry::append(), Client::handleMoreAdaptedBodyAvailable(), ClientHttpRequest::noteMoreBodyDataAvailable(), storeDirWriteCleanLogs(), and Client::storeReplyBody().
Member Data Documentation
◆ _appended_text
String CapturingStoreEntry::_appended_text |
Definition at line 23 of file CapturingStoreEntry.h.
Referenced by append(), and TestPackableStream::testGetStream().
◆ _buffer_calls
int CapturingStoreEntry::_buffer_calls |
Definition at line 24 of file CapturingStoreEntry.h.
Referenced by buffer(), and TestPackableStream::testGetStream().
◆ _flush_calls
int CapturingStoreEntry::_flush_calls |
Definition at line 25 of file CapturingStoreEntry.h.
Referenced by flush(), and TestPackableStream::testGetStream().
◆ cachedESITree
|
inherited |
Definition at line 255 of file Store.h.
Referenced by ESIContext::getCachedAST(), ESIContext::hasCachedAST(), and ESIContext::updateCachedAST().
◆ deferredProducer
|
privateinherited |
Definition at line 335 of file Store.h.
Referenced by StoreEntry::deferProducer(), and StoreEntry::kickProducer().
◆ expires
|
inherited |
Definition at line 226 of file Store.h.
Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), clientReplyContext::buildReplyHeader(), StoreEntry::checkNegativeHit(), StoreEntry::describeTimestamps(), StoreEntry::dump(), StoreEntry::expireNow(), Ipc::StoreMapAnchor::exportInto(), htcpTstReply(), Fs::Ufs::UFSSwapDir::logEntry(), StoreEntry::negativeCache(), peerDigestFetchSetStats(), peerDigestNewDelay(), Fs::Ufs::RebuildState::rebuildFromDirectory(), refreshStaleness(), StoreEntry::reset(), Ipc::StoreMapAnchor::set(), CacheManager::start(), storeDigestRewriteFinish(), StoreEntry::timestampsSet(), Store::UnpackIndexSwapMeta(), StoreEntry::validToSend(), and UFSCleanLog::write().
◆ flags
|
inherited |
Definition at line 232 of file Store.h.
Referenced by StoreEntry::abort(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), Store::Controller::addWriting(), Rock::SwapDir::anchorEntry(), MemStore::anchorEntry(), asHandleReply(), StoreEntry::buffer(), clientReplyContext::buildReplyHeader(), clientReplyContext::cacheHit(), Store::Disk::canLog(), Store::Disk::canStore(), StoreEntry::checkCachable(), StoreEntry::checkDisk(), StoreEntry::checkNegativeHit(), CheckQuickAbortIsReasonable(), Store::CheckSwapMetaKey(), StoreEntry::checkTooSmall(), Store::Controller::checkTransients(), StoreEntry::clearPrivate(), StoreEntry::clearPublicKeyScope(), StoreEntry::complete(), FwdState::completed(), store_client::copy(), MemStore::copyToShm(), Store::Controller::dereferenceIdle(), FwdState::dispatch(), StoreEntry::doAbandon(), dummy_action(), errorAppendEntry(), clientReplyContext::errorInStream(), Store::Disks::evictCached(), Ipc::StoreMapAnchor::exportInto(), StoreEntry::flush(), Store::Controller::handleIdleEntry(), clientReplyContext::handleIMSReply(), Http::One::Server::handleReply(), HttpStateData::haveParsedReplyHeaders(), heap_add(), StoreEntry::hittingRequiresCollapsing(), httpMaybeRemovePublic(), StoreEntry::invokeHandlers(), StoreEntry::isAccepting(), StoreEntry::lengthWentBad(), MimeIcon::load(), Fs::Ufs::UFSSwapDir::logEntry(), StoreEntry::makePublic(), FwdState::markStoredReplyAsWhole(), StoreEntry::mayStartHitting(), StoreEntry::mayStartSwapOut(), StoreEntry::negativeCache(), neighborsHtcpReply(), neighborsUdpAck(), netdbExchangeHandleReply(), peerDigestFetchedEnough(), peerDigestRequest(), peerSelectIcpPing(), clientReplyContext::processExpired(), clientReplyContext::processMiss(), HttpStateData::processReply(), HttpStateData::processReplyBody(), StoreEntry::publicKey(), HttpStateData::readReply(), Fs::Ufs::RebuildState::rebuildFromDirectory(), Store::Controller::referenceBusy(), FwdState::reforward(), refreshCheck(), StoreEntry::releaseRequest(), clientReplyContext::replyStatus(), HttpStateData::reusableReply(), clientReplyContext::sendClientOldEntry(), clientReplyContext::sendClientUpstreamResponse(), Client::sentRequestBody(), Ipc::StoreMapAnchor::set(), StoreEntry::setCollapsingRequirement(), Client::setFinalReply(), StoreEntry::setMemStatus(), StoreEntry::setPrivateKey(), StoreEntry::setPublicKey(), MemStore::shouldCache(), statObjects(), storeCleanup(), StoreEntry::storeClientType(), storeCreatePureEntry(), storeDigestAddable(), storeDigestDel(), storeDigestRewriteResume(), storeDirSwapLog(), storeEntryFlags(), storeRebuildParseEntry(), storeSwapInStart(), StoreEntry::swapOut(), Store::Controller::syncCollapsed(), TestCacheManager::testRegister(), StoreEntry::trimMemory(), Store::UnpackIndexSwapMeta(), Store::Controller::updateOnNotModified(), urnHandleReply(), StoreEntry::validToSend(), UFSCleanLog::write(), and StoreEntry::write().
◆ key
|
inherited |
Definition at line 19 of file hash.h.
Referenced by ClientInfo::ClientInfo(), fqdncache_entry::fqdncache_entry(), IdleConnList::IdleConnList(), ipcache_entry::ipcache_entry(), net_db_name::net_db_name(), ClientInfo::~ClientInfo(), ExternalACLEntry::~ExternalACLEntry(), fqdncache_entry::~fqdncache_entry(), IdleConnList::~IdleConnList(), net_db_name::~net_db_name(), aclMatchExternal(), Rock::SwapDir::anchorToCache(), MemStore::anchorToCache(), Store::CheckSwapMetaKey(), StoreEntry::clearPublicKeyScope(), Rock::SwapDir::createStoreIO(), CommQuotaQueue::dequeue(), destroyStoreEntry(), CommQuotaQueue::enqueue(), external_acl_cache_add(), StoreEntry::forcePublicKey(), fqdncacheAddEntry(), fqdncacheParse(), StoreEntry::getMD5Text(), hash_join(), hash_remove_link(), StoreEntry::hashDelete(), StoreEntry::hashInsert(), hashKeyStr(), Rock::SwapDir::hasReadableEntry(), htcpQuery(), idnsStartQuery(), ipcacheAddEntry(), ipcacheRelease(), Fs::Ufs::UFSSwapDir::logEntry(), Store::Controller::markedForDeletionAndAbandoned(), my_free(), ipcache_entry::name(), neighborsUdpPing(), netdbHashInsert(), Ipc::StoreMap::openForUpdating(), Store::PackFields(), peerCountMcastPeersCreateAndSend(), StoreEntry::publicKey(), read_passwd_file(), Ipc::StoreMapAnchor::set(), StoreEntry::setPrivateKey(), StoreEntry::setPublicKey(), ClientInfo::setWriteLimiter(), Ident::Start(), MemStore::startCaching(), storeDigestAdd(), storeDigestDel(), storeRebuildParseEntry(), Store::UnpackIndexSwapMeta(), and UFSCleanLog::write().
◆ lastModified_
|
privateinherited |
Definition at line 228 of file Store.h.
Referenced by StoreEntry::describeTimestamps(), StoreEntry::dump(), StoreEntry::lastModified(), StoreEntry::reset(), and StoreEntry::timestampsSet().
◆ lastref
|
inherited |
Definition at line 225 of file Store.h.
Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), StoreEntry::describeTimestamps(), StoreEntry::dump(), Ipc::StoreMapAnchor::exportInto(), HeapKeyGen_StoreEntry_GDSF(), HeapKeyGen_StoreEntry_LFUDA(), HeapKeyGen_StoreEntry_LRU(), Fs::Ufs::UFSSwapDir::logEntry(), lru_stats(), Fs::Ufs::RebuildState::rebuildFromDirectory(), Ipc::StoreMapAnchor::set(), storeCreatePureEntry(), StoreEntry::touch(), Store::UnpackIndexSwapMeta(), and UFSCleanLog::write().
◆ lock_count
|
privateinherited |
Definition at line 324 of file Store.h.
Referenced by StoreEntry::dump(), StoreEntry::lock(), StoreEntry::locked(), StoreEntry::locks(), and StoreEntry::unlock().
◆ mem_obj
|
inherited |
Definition at line 221 of file Store.h.
Referenced by StoreEntry::abort(), Store::Disks::accumulateMore(), Transients::addEntry(), Transients::addReaderEntry(), Transients::addWriterEntry(), StoreEntry::adjustVary(), MemStore::anchorEntry(), StoreEntry::append(), CollapsedForwarding::Broadcast(), StoreEntry::bytesWanted(), clientReplyContext::cacheHit(), StoreEntry::calcPublicKey(), StoreEntry::checkCachable(), CheckQuickAbortIsReasonable(), StoreEntry::checkTooBig(), StoreEntry::checkTooSmall(), FwdState::complete(), StoreEntry::complete(), FwdState::completed(), Transients::completeWriting(), MemStore::completeWriting(), store_client::copy(), MemStore::copyFromShm(), MemStore::copyFromShmSlice(), MemStore::copyToShm(), MemStore::copyToShmSlice(), StoreEntry::createMemObject(), Store::Controller::dereferenceIdle(), StoreEntry::destroyMemObject(), Transients::disconnect(), MemStore::disconnect(), Rock::SwapDir::disconnect(), store_client::doCopy(), doPages(), StoreEntry::dump(), StoreEntry::ensureMemObject(), errorAppendEntry(), FwdState::establishTunnelThruProxy(), MemStore::evictCached(), Transients::evictCached(), store_client::fileRead(), Rock::SwapDir::finalizeSwapoutSuccess(), findPreviouslyCachedEntry(), StoreEntry::forcePublicKey(), Transients::get(), store_client::handleBodyFromDisk(), Store::Controller::handleIdleEntry(), StoreEntry::hasFreshestReply(), StoreEntry::hasMemStore(), StoreEntry::hasTransients(), Transients::hasWriter(), HttpStateData::haveParsedReplyHeaders(), heap_guessType(), HeapKeyGen_StoreEntry_GDSF(), HeapKeyGen_StoreEntry_LFUDA(), HeapKeyGen_StoreEntry_LRU(), httpMaybeRemovePublic(), StoreEntry::invokeHandlers(), Transients::isReader(), Transients::isWriter(), Store::Controller::keepForLocalMemoryCache(), MimeIcon::load(), store_client::maybeWriteFromDiskToMemory(), StoreEntry::mayStartSwapOut(), StoreEntry::mem(), StoreEntry::memoryCachable(), StoreEntry::memOutDecision(), Transients::monitorIo(), neighborsHtcpReply(), neighborsUdpAck(), neighborsUdpPing(), objectSizeForDirSelection(), peerCountHandleIcpReply(), peerCountMcastPeersAbort(), peerCountMcastPeersCreateAndSend(), peerDigestFetchReply(), peerDigestFetchSetStats(), peerDigestSwapInCBlock(), Transients::readers(), store_client::readFromMemory(), store_client::readHeader(), HttpStateData::readReply(), Store::Controller::referenceBusy(), FwdState::reforward(), refreshCheck(), refreshCheckDigest(), refreshIsCachable(), StoreEntry::registerAbortCallback(), repl_guessType(), StoreEntry::replaceHttpReply(), StoreEntry::setMemStatus(), StoreEntry::setNoDelay(), HeapPolicyData::setPolicyNode(), LruPolicyData::setPolicyNode(), StoreEntry::setPrivateKey(), StoreEntry::setPublicKey(), MemStore::shouldCache(), store_client::skipHttpHeadersFromDisk(), FwdState::Start(), MemStore::startCaching(), StoreEntry::startWriting(), statObjectsOpenfdFilter(), statObjectsVmFilter(), statStoreEntry(), Transients::status(), storeClientListAdd(), StoreEntry::storeClientType(), storeDigestRewriteFinish(), storeDigestRewriteStart(), storeLog(), clientReplyContext::storeNotOKTransferDone(), storePendingNClients(), storeSwapInStart(), storeSwapOutFileClosed(), storeSwapOutStart(), storeUnregister(), StoreEntry::storeWritingCheckpoint(), StoreEntry::swapOut(), StoreEntry::swapOutDecision(), StoreEntry::swapOutFileClose(), Store::Controller::syncCollapsed(), TestRock::testRockSwapOut(), StoreEntry::timestampsSet(), StoreEntry::trimMemory(), StoreEntry::unregisterAbortCallback(), MemStore::updateAnchored(), MemStore::updateHeaders(), StoreEntry::updateOnNotModified(), Store::Controller::updateOnNotModified(), StoreEntry::url(), StoreEntry::validLength(), StoreEntry::validToSend(), varyEvaluateMatch(), MemStore::write(), StoreEntry::write(), and HttpStateData::wroteLast().
◆ mem_status
|
inherited |
Definition at line 240 of file Store.h.
Referenced by clientReplyContext::cacheHit(), StoreEntry::complete(), Store::Controller::dereferenceIdle(), describeStatuses(), StoreEntry::dump(), Store::Controller::referenceBusy(), StoreEntry::setMemStatus(), MemStore::shouldCache(), storeSwapInStart(), StoreEntry::trimMemory(), and Store::Controller::updateOnNotModified().
◆ next
|
inherited |
Definition at line 20 of file hash.h.
Referenced by IdleConnList::IdleConnList(), clientdbGC(), Store::LocalSearch::copyBucket(), StoreEntry::dump(), hash_join(), hash_lookup(), hash_next(), hash_remove_link(), and lru_stats().
◆ ping_status
|
inherited |
Definition at line 242 of file Store.h.
Referenced by PeerSelector::~PeerSelector(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), Rock::SwapDir::anchorEntry(), describeStatuses(), FwdState::dispatch(), StoreEntry::dump(), PeerSelector::handlePingTimeout(), neighborsHtcpReply(), neighborsUdpAck(), peerCountMcastPeersCreateAndSend(), peerSelectIcpPing(), PeerSelector::selectMore(), PeerSelector::selectPinned(), PeerSelector::selectSomeNeighbor(), PeerSelector::selectSomeNeighborReplies(), PeerSelector::startPingWaiting(), and storeCreatePureEntry().
◆ pool
|
staticprivateinherited |
Definition at line 322 of file Store.h.
Referenced by StoreEntry::inUseCount().
◆ refcount
|
inherited |
Definition at line 231 of file Store.h.
Referenced by store_client::store_client(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), StoreEntry::dump(), Ipc::StoreMapAnchor::exportInto(), HeapKeyGen_StoreEntry_GDSF(), HeapKeyGen_StoreEntry_LFUDA(), Fs::Ufs::UFSSwapDir::logEntry(), StoreEntry::memoryCachable(), Fs::Ufs::RebuildState::rebuildFromDirectory(), Ipc::StoreMapAnchor::set(), statStoreEntry(), storeCreatePureEntry(), Store::UnpackIndexSwapMeta(), and UFSCleanLog::write().
◆ repl
|
inherited |
Definition at line 222 of file Store.h.
Referenced by Fs::Ufs::UFSSwapDir::dereference(), Rock::SwapDir::dereference(), heap_guessType(), Rock::SwapDir::ignoreReferences(), Fs::Ufs::UFSSwapDir::reference(), Rock::SwapDir::reference(), repl_guessType(), Fs::Ufs::UFSSwapDir::replacementAdd(), Fs::Ufs::UFSSwapDir::replacementRemove(), HeapPolicyData::setPolicyNode(), LruPolicyData::setPolicyNode(), and Rock::SwapDir::trackReferences().
◆ shareableWhenPrivate
|
privateinherited |
Nobody can find/lock KEY_PRIVATE entries, but some transactions (e.g., collapsed requests) find/lock a public entry before it becomes private. May such transactions start using the now-private entry they previously locked? This member should not affect transactions that already started reading from the entry.
Definition at line 331 of file Store.h.
Referenced by StoreEntry::clearPrivate(), StoreEntry::mayStartHitting(), StoreEntry::releaseRequest(), and StoreEntry::setPrivateKey().
◆ store_status
|
inherited |
Definition at line 244 of file Store.h.
Referenced by StoreEntry::abort(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), Rock::SwapDir::anchorEntry(), MemStore::anchorEntry(), StoreEntry::append(), clientReplyContext::cacheHit(), StoreEntry::checkNegativeHit(), CheckQuickAbortIsReasonable(), FwdState::checkRetry(), StoreEntry::checkTooSmall(), clientReplyContext::checkTransferDone(), StoreEntry::complete(), FwdState::completed(), MemStore::copyFromShm(), describeStatuses(), StoreEntry::doAbandon(), store_client::doCopy(), doPages(), StoreEntry::dump(), errorAppendEntry(), HttpStateData::httpTimeout(), StoreEntry::isAccepting(), StoreEntry::mayStartSwapOut(), store_client::moreToRead(), peerDigestPDFinish(), FwdState::reforward(), StoreEntry::storeClientType(), storeCreatePureEntry(), storeUnregister(), StoreEntry::swapOut(), TestStoreController::testMaxSize(), TestStoreHashIndex::testMaxSize(), TestStoreController::testStats(), TestStoreHashIndex::testStats(), MemStore::write(), and StoreEntry::write().
◆ swap_dirn
|
inherited |
Definition at line 238 of file Store.h.
Referenced by addedEntry(), StoreEntry::attachToDisk(), StoreEntry::checkDisk(), Fs::Ufs::UFSSwapDir::dereference(), Rock::SwapDir::dereference(), StoreEntry::detachFromDisk(), StoreEntry::disk(), StoreEntry::dump(), StoreEntry::hasDisk(), Fs::Ufs::UFSSwapDir::reference(), Rock::SwapDir::reference(), Fs::Ufs::UFSSwapDir::replacementRemove(), statStoreEntry(), storeDirSwapLog(), storeLog(), storeSwapOutFileClosed(), storeSwapOutStart(), TestRock::testRockSwapOut(), TestUfs::testUfsSearch(), and Store::Controller::updateOnNotModified().
◆ swap_file_sz
|
inherited |
Definition at line 230 of file Store.h.
Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), MemStore::anchorEntry(), Store::Disk::canLog(), Fs::Ufs::UFSSwapDir::doubleCheck(), StoreEntry::dump(), Fs::Ufs::UFSSwapDir::evictCached(), Ipc::StoreMapAnchor::exportInto(), Fs::Ufs::UFSSwapDir::finalizeSwapoutSuccess(), HeapKeyGen_StoreEntry_GDSF(), Rock::Rebuild::importEntry(), Fs::Ufs::UFSSwapDir::logEntry(), Rock::SwapDir::openStoreIO(), Fs::Ufs::RebuildState::rebuildFromDirectory(), Ipc::StoreMapAnchor::set(), storeDigestAddable(), storeRebuildParseEntry(), storeSwapOutFileClosed(), Store::UnpackHitSwapMeta(), Store::UnpackIndexSwapMeta(), Rock::SwapDir::updateAnchored(), MemStore::updateAnchoredWith(), and UFSCleanLog::write().
◆ swap_filen
|
inherited |
Definition at line 236 of file Store.h.
Referenced by Fs::Ufs::UFSStoreState::UFSStoreState(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), StoreEntry::attachToDisk(), StoreEntry::checkDisk(), Fs::Ufs::UFSSwapDir::dereference(), Rock::SwapDir::dereference(), StoreEntry::detachFromDisk(), Rock::SwapDir::disconnect(), Fs::Ufs::UFSSwapDir::doubleCheck(), StoreEntry::dump(), Fs::Ufs::UFSSwapDir::dumpEntry(), Rock::SwapDir::evictCached(), Fs::Ufs::UFSSwapDir::evictCached(), StoreEntry::hasDisk(), Fs::Ufs::UFSSwapDir::logEntry(), Fs::Ufs::UFSStrategy::open(), Rock::SwapDir::openStoreIO(), Fs::Ufs::UFSSwapDir::reference(), Rock::SwapDir::reference(), statStoreEntry(), storeDirSwapLog(), storeLog(), storeSwapOutFileClosed(), storeSwapOutStart(), TestRock::testRockSwapOut(), TestUfs::testUfsSearch(), StoreIOState::touchingStoreEntry(), Rock::SwapDir::updateAnchored(), Rock::SwapDir::updateHeaders(), and UFSCleanLog::write().
◆ swap_status
|
inherited |
Definition at line 246 of file Store.h.
Referenced by addedEntry(), StoreEntry::attachToDisk(), StoreEntry::checkDisk(), describeStatuses(), StoreEntry::detachFromDisk(), StoreEntry::dump(), StoreEntry::storeClientType(), storeSwapOutFileClosed(), storeSwapOutStart(), StoreEntry::swapoutFailed(), StoreEntry::swappedOut(), StoreEntry::swappingOut(), and TestRock::testRockSwapOut().
◆ timestamp
|
inherited |
Definition at line 224 of file Store.h.
Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), clientReplyContext::buildReplyHeader(), StoreEntry::describeTimestamps(), StoreEntry::dump(), Ipc::StoreMapAnchor::exportInto(), htcpTstReply(), StoreEntry::lastModified(), Fs::Ufs::UFSSwapDir::logEntry(), Store::PackFields(), Fs::Ufs::RebuildState::rebuildFromDirectory(), refreshCheck(), refreshStaleness(), StoreEntry::reset(), clientReplyContext::sendNotModified(), Ipc::StoreMapAnchor::set(), storeCreatePureEntry(), StoreEntry::timestampsSet(), Store::UnpackIndexSwapMeta(), and UFSCleanLog::write().
The documentation for this class was generated from the following file:
- src/tests/CapturingStoreEntry.h