#include <Store.h>

Inheritance diagram for StoreEntry:
Collaboration diagram for StoreEntry:

Public Member Functions

bool checkDeferRead (int fd) const
 
virtual const char * getMD5Text () const
 
 StoreEntry ()
 
virtual ~StoreEntry ()
 
virtual HttpReply const * getReply () const
 
virtual void write (StoreIOBuffer)
 
virtual bool isEmpty () const
 
virtual bool isAccepting () const
 
virtual size_t bytesWanted (Range< size_t > const aRange, bool ignoreDelayPool=false) const
 
void lengthWentBad (const char *reason)
 flags [truncated or too big] entry with ENTRY_BAD_LENGTH and releases it More...
 
virtual void complete ()
 
virtual store_client_t storeClientType () const
 
virtual char const * getSerialisedMetaData ()
 
void storeErrorResponse (HttpReply *reply)
 Store a prepared error response. MemObject locks the reply object. More...
 
void replaceHttpReply (HttpReply *, bool andStartWriting=true)
 
void startWriting ()
 
virtual bool mayStartSwapOut ()
 whether we may start writing to disk (now or in the future) More...
 
virtual void trimMemory (const bool preserveSwappable)
 
void memOutDecision (const bool willCacheInRam)
 
void swapOutDecision (const MemObject::SwapOut::Decision &decision)
 
void abort ()
 
void makePublic (const KeyScope keyScope=ksDefault)
 
void makePrivate (const bool shareable)
 
void clearPrivate ()
 
void setPublicKey (const KeyScope keyScope=ksDefault)
 
void clearPublicKeyScope ()
 
void setPrivateKey (const bool shareable)
 
void expireNow ()
 
void releaseRequest (const bool shareable=false)
 
void negativeCache ()
 
void cacheNegatively ()
 
void invokeHandlers ()
 
void purgeMem ()
 
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...
 
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 registerAbort (STABH *cb, void *)
 
void reset ()
 
void setMemStatus (mem_status_t)
 
bool timestampsSet ()
 
void unregisterAbort ()
 
void destroyMemObject ()
 
int checkTooSmall ()
 
void delayAwareRead (const Comm::ConnectionPointer &conn, char *buf, int len, AsyncCall::Pointer callback)
 
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...
 
Store::Diskdisk () const
 the disk this entry is [being] cached on; asserts for entries w/o a disk More...
 
virtual bool isNull ()
 
void * operator new (size_t byteCount)
 
void operator delete (void *address)
 
void setReleaseFlag ()
 
virtual int64_t objectLen () const
 
virtual 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...
 
virtual void release (const bool shareable=false)
 
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...
 
virtual void append (char const *, int)
 Appends a c-string to existing packed data. More...
 
virtual void vappendf (const char *, va_list)
 
virtual void buffer ()
 
virtual void flush ()
 
void appendf (const char *fmt,...) PRINTF_FORMAT_ARG2
 Append operation with printf-style arguments. More...
 

Static Public Member Functions

static size_t inUseCount ()
 
static void getPublicByRequestMethod (StoreClient *aClient, HttpRequest *request, const HttpRequestMethod &method)
 
static void getPublicByRequest (StoreClient *aClient, HttpRequest *request)
 
static void getPublic (StoreClient *aClient, const char *uri, const HttpRequestMethod &method)
 

Public Attributes

MemObjectmem_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_linknext
 

Static Public Attributes

static DeferredRead::DeferrableRead DeferReader
 

Protected Member Functions

void transientsAbandonmentCheck ()
 

Private Member Functions

bool checkTooBig () const
 
void forcePublicKey (const cache_key *newkey)
 
void adjustVary ()
 
const cache_keycalcPublicKey (const KeyScope keyScope)
 
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 MemAllocatorpool = NULL
 

Friends

std::ostream & operator<< (std::ostream &os, const StoreEntry &e)
 

Detailed Description

Definition at line 41 of file Store.h.

Constructor & Destructor Documentation

StoreEntry::StoreEntry ( )

Definition at line 322 of file store.cc.

References debugs.

StoreEntry::~StoreEntry ( )
virtual

Definition at line 343 of file store.cc.

References debugs.

Member Function Documentation

void Packable::appendf ( const char *  fmt,
  ... 
)
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::Convert(), ErrorState::ConvertText(), ErrorState::DenyInfoLocation(), ErrorState::Dump(), dump_cachemgrpasswd(), Security::ServerOptions::dumpCfg(), Security::PeerOptions::dumpCfg(), store_client::dumpStats(), Adaptation::Icap::ModXact::encapsulateHead(), errorInitialize(), Adaptation::Icap::Xaction::fillDoneStatus(), Adaptation::Icap::ModXact::fillDoneStatus(), Adaptation::Icap::Xaction::fillPendingStatus(), Adaptation::Icap::ModXact::fillPendingStatus(), HttpStateData::getMoreRequestBody(), gopherSendRequest(), Ftp::Server::handleEpsvReply(), Ftp::Server::handlePasvReply(), helperDispatch(), Ftp::Gateway::htmlifyListEntry(), 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(), HttpHdrRangeSpec::packInto(), Http::StatusLine::packInto(), HttpHdrScTarget::packInto(), HttpHdrCc::packInto(), helper::packStatsInto(), Acl::AllOf::parse(), Ftp::PrintReply(), Ftp::Client::sendEprt(), Ftp::Client::sendPassive(), ExternalACLLookup::Start(), Ident::Start(), MemObject::stat(), statStoreEntry(), Ipc::Inquirer::status(), Comm::TcpAcceptor::status(), AsyncJob::status(), Adaptation::Ecap::XactionRep::status(), Security::PeerConnector::status(), Adaptation::Icap::Xaction::status(), BodyPipe::status(), Adaptation::Icap::ServiceRep::status(), tunnelRelayConnectRequest(), urnHandleReply(), wordlistCat(), Ftp::Server::writeCustomReply(), Ftp::Server::writeEarlyReply(), and Ftp::Server::writeErrorReply().

size_t StoreEntry::bytesWanted ( Range< size_t > const  aRange,
bool  ignoreDelayPool = false 
) const
virtual
void StoreEntry::cacheInMemory ( )
void StoreEntry::cacheNegatively ( )

Definition at line 165 of file store.cc.

References makePublic(), and negativeCache().

Referenced by HttpStateData::haveParsedReplyHeaders().

const cache_key * StoreEntry::calcPublicKey ( const KeyScope  keyScope)
private

Calculates correct public key for feeding forcePublicKey(). Assumes adjustVary() has been called for this entry already.

Definition at line 696 of file store.cc.

References assert, RefCount< C >::getRaw(), mem_obj, MemObject::method, MemObject::request, MemObject::storeId(), storeKeyPublic(), and storeKeyPublicByRequest().

Referenced by clearPublicKeyScope(), and setPublicKey().

bool StoreEntry::checkDeferRead ( int  fd) const

Definition at line 244 of file store.cc.

References bytesWanted(), and INT_MAX.

Referenced by statObjects(), and swapOut().

int StoreEntry::checkNegativeHit ( ) const

Definition at line 1431 of file store.cc.

References EBIT_TEST, ENTRY_NEGCACHED, expires, flags, squid_curtime, STORE_OK, and store_status.

Referenced by clientReplyContext::cacheHit().

bool StoreEntry::checkTooBig ( ) const
private
int StoreEntry::checkTooSmall ( )
void StoreEntry::clearPrivate ( )

A low-level method just resetting "private key" flags. To avoid key inconsistency please use forcePublicKey() or similar instead.

Definition at line 158 of file store.cc.

References EBIT_CLR, flags, KEY_PRIVATE, and shareableWhenPrivate.

Referenced by Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), MemStore::anchorEntry(), Rock::SwapDir::anchorEntry(), and forcePublicKey().

void StoreEntry::clearPublicKeyScope ( )

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 653 of file store.cc.

References calcPublicKey(), EBIT_TEST, flags, forcePublicKey(), hash_link::key, KEY_PRIVATE, ksDefault, and storeKeyHashCmp.

Referenced by clientReplyContext::handleIMSReply().

int64_t StoreEntry::contentLen ( ) const
virtual
void StoreEntry::createMemObject ( )

initialize mem_obj; assert if mem_obj already exists avoid this method in favor of createMemObject(trio)!

Definition at line 1681 of file store.cc.

References assert, and mem_obj.

Referenced by MemStore::get(), peerDigestRequest(), storeCreatePureEntry(), testStoreController::testMaxSize(), testStoreHashIndex::testMaxSize(), testStoreHashIndex::testStats(), and testStoreController::testStats().

void StoreEntry::createMemObject ( const char *  storeId,
const char *  logUri,
const HttpRequestMethod aMethod 
)

Definition at line 1688 of file store.cc.

References assert, ensureMemObject(), and mem_obj.

void StoreEntry::deferProducer ( const AsyncCall::Pointer producer)
void StoreEntry::delayAwareRead ( const Comm::ConnectionPointer conn,
char *  buf,
int  len,
AsyncCall::Pointer  callback 
)
const char * StoreEntry::describeTimestamps ( ) const
Returns
a formatted string with entry's timestamps

Definition at line 2080 of file store.cc.

References buf, expires, lastModified_, lastref, LOCAL_ARRAY, and timestamp.

Referenced by statStoreEntry().

void StoreEntry::ensureMemObject ( const char *  storeId,
const char *  logUri,
const HttpRequestMethod aMethod 
)
void StoreEntry::expireNow ( )

Definition at line 815 of file store.cc.

References debugs, expires, getMD5Text(), and squid_curtime.

Referenced by makePrivate(), release(), and Fs::Ufs::RebuildState::undoAdd().

void StoreEntry::flush ( )
virtual

flush any buffered content.

This just clears DELAY_SENDING and Invokes the handlers to begin sending anything that may be buffered.

Reimplemented from Packable.

Reimplemented in CapturingStoreEntry.

Definition at line 1718 of file store.cc.

References DELAY_SENDING, EBIT_CLR, EBIT_TEST, flags, and invokeHandlers().

Referenced by testRock::addEntry(), MimeIcon::created(), Mgr::Action::fillEntry(), gopherReadReply(), gopherSendComplete(), gopherToHTML(), netdbBinaryExchange(), WhoisState::readReply(), startWriting(), statObjects(), storeDigestRewriteResume(), storeErrorResponse(), HttpRequest::swapOut(), and testUfs::testUfsSearch().

void StoreEntry::forcePublicKey ( const cache_key newkey)
private

Unconditionally sets public key for this store entry. Releases the old entry with the same public key (if any).

Definition at line 670 of file store.cc.

References assert, clearPrivate(), debugs, hash_lookup(), hashDelete(), hashInsert(), hash_link::key, store_table, storeDirSwapLog(), swap_filen, and SWAP_LOG_ADD.

Referenced by clearPublicKeyScope(), and setPublicKey().

void StoreEntry::getPublic ( StoreClient aClient,
const char *  uri,
const HttpRequestMethod method 
)
static
void StoreEntry::getPublicByRequest ( StoreClient aClient,
HttpRequest request 
)
static
char const * StoreEntry::getSerialisedMetaData ( )
virtual
bool StoreEntry::hasEtag ( ETag etag) const

Definition at line 1997 of file store.cc.

References Http::ETAG, getReply(), and ETag::str.

Referenced by clientReplyContext::processExpired().

void StoreEntry::hashDelete ( )
void StoreEntry::hashInsert ( const cache_key someKey)
bool StoreEntry::hasIfMatchEtag ( const HttpRequest request) const
bool StoreEntry::hasOneOfEtags ( const String reqETags,
const bool  allowWeakMatch 
) const
private
size_t StoreEntry::inUseCount ( )
static
bool StoreEntry::isAccepting ( ) const
virtual
void StoreEntry::kickProducer ( )

Definition at line 360 of file store.cc.

References deferredProducer, NULL, and ScheduleCallHere.

Referenced by store_client::copy(), and storeUnregister().

time_t StoreEntry::lastModified ( ) const
inline
Returns
entry's 'effective' modification time

Definition at line 144 of file Store.h.

References lastModified_, and timestamp.

Referenced by modifiedSince(), and timestampsSet().

void StoreEntry::lengthWentBad ( const char *  reason)

Definition at line 1080 of file store.cc.

References debugs, EBIT_SET, ENTRY_BAD_LENGTH, flags, and releaseRequest().

Referenced by complete(), and Client::handleAdaptedBodyProducerAborted().

int StoreEntry::locks ( ) const
inline

Definition at line 218 of file Store.h.

References lock_count.

Referenced by operator<<(), and statStoreEntry().

void StoreEntry::makePrivate ( const bool  shareable)
bool StoreEntry::mayStartHitting ( ) const
inline

May the caller commit to treating this [previously locked] entry as a cache hit?

Definition at line 227 of file Store.h.

References EBIT_TEST, flags, KEY_PRIVATE, and shareableWhenPrivate.

Referenced by clientReplyContext::cacheHit(), and clientReplyContext::handleIMSReply().

void StoreEntry::memOutDecision ( const bool  willCacheInRam)

Definition at line 1923 of file store.cc.

References transientsAbandonmentCheck().

Referenced by MemStore::startCaching(), and MemStore::write().

bool StoreEntry::modifiedSince ( const time_t  ims,
const int  imslen = -1 
) const
void StoreEntry::negativeCache ( )

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 1452 of file store.cc.

References Config, EBIT_SET, ENTRY_NEGCACHED, expires, flags, SquidConfig::negativeTtl, and squid_curtime.

Referenced by abort(), cacheNegatively(), and storeErrorResponse().

void StoreEntry::operator delete ( void *  address)

Definition at line 136 of file store.cc.

void * StoreEntry::operator new ( size_t  byteCount)

Definition at line 124 of file store.cc.

References assert, and memPoolCreate.

void StoreEntry::purgeMem ( )
void StoreEntry::registerAbort ( STABH cb,
void *  data 
)
void StoreEntry::reset ( )
void StoreEntry::setNoDelay ( bool const  newValue)

Definition at line 250 of file store.cc.

References mem_obj, and MemObject::setNoDelay().

Referenced by HttpStateData::HttpStateData().

void StoreEntry::setReleaseFlag ( )
void StoreEntry::startWriting ( )
void StoreEntry::storeErrorResponse ( HttpReply reply)
void StoreEntry::swapOutDecision ( const MemObject::SwapOut::Decision decision)
void StoreEntry::swapOutFileClose ( int  how)
bool StoreEntry::swappingOut ( ) const
inline

Definition at line 106 of file Store.h.

References swap_status, and SWAPOUT_WRITING.

Referenced by mayStartSwapOut(), store_client::store_client(), swapOut(), and validToSend().

void StoreEntry::touch ( )

Definition at line 455 of file store.cc.

References lastref, and squid_curtime.

Referenced by Store::Controller::get().

void StoreEntry::transientsAbandonmentCheck ( )
protected

Abandon the transient entry our worker has created if neither the shared memory cache nor the disk cache wants to store it. Collapsed requests, if any, should notice and use Plan B instead of getting stuck waiting for us to start swapping the entry out.

Definition at line 1910 of file store.cc.

References debugs, MemObject::SwapOut::decision, MemObject::XitTable::index, MemObject::MemCache::index, mem_obj, MemObject::memCache, Store::Root(), shutting_down, MemObject::smpCollapsed, MemObject::swapout, MemObject::SwapOut::swImpossible, Store::Controller::transientsAbandon(), and MemObject::xitTable.

Referenced by memOutDecision(), and swapOutDecision().

void StoreEntry::trimMemory ( const bool  preserveSwappable)
virtual
void StoreEntry::unregisterAbort ( )
const char * StoreEntry::url ( ) const
void StoreEntry::vappendf ( const char *  fmt,
va_list  ap 
)
virtual

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 862 of file store.cc.

References append(), assert, buf, fatal(), LOCAL_ARRAY, and xstrerr().

Referenced by storeAppendPrintf(), and storeAppendVPrintf().

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const StoreEntry e 
)
friend

Definition at line 2091 of file store.cc.

Member Data Documentation

ESIElement::Pointer StoreEntry::cachedESITree
void StoreEntry::DeferReader
static

Definition at line 45 of file Store.h.

Referenced by delayAwareRead().

AsyncCall::Pointer StoreEntry::deferredProducer
private

Definition at line 266 of file Store.h.

Referenced by deferProducer(), and kickProducer().

uint16_t StoreEntry::flags

Definition at line 173 of file Store.h.

Referenced by abort(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), MemStore::anchorEntry(), Rock::SwapDir::anchorEntry(), asHandleReply(), buffer(), clientReplyContext::buildReplyHeader(), clientReplyContext::cacheHit(), Store::Disk::canLog(), Store::Disk::canStore(), checkCachable(), StoreMetaMD5::checkConsistency(), checkNegativeHit(), CheckQuickAbortIsReasonable(), checkTooSmall(), clearPrivate(), clearPublicKeyScope(), complete(), FwdState::complete(), FwdState::completed(), store_client::copy(), MemStore::copyFromShmSlice(), MemStore::copyToShm(), MimeIcon::created(), Store::Controller::dereferenceIdle(), FwdState::dispatch(), dummy_action(), errorAppendEntry(), clientReplyContext::errorInStream(), flush(), Mgr::Forwarder::Forwarder(), FwdState::FwdState(), gopherMimeCreate(), gopherReadReply(), Store::Controller::handleIdleEntry(), clientReplyContext::handleIMSReply(), Http::One::Server::handleReply(), HttpStateData::haveParsedReplyHeaders(), Ftp::Gateway::haveParsedReplyHeaders(), heap_add(), httpMaybeRemovePublic(), clientReplyContext::identifyFoundObject(), isAccepting(), lengthWentBad(), locked(), Fs::Ufs::UFSSwapDir::logEntry(), makePublic(), mayStartHitting(), mayStartSwapOut(), negativeCache(), neighborsHtcpReply(), neighborsUdpAck(), netdbExchangeHandleReply(), InitStoreEntry::operator()(), operator<<(), peerDigestFetchedEnough(), peerDigestRequest(), peerSelectIcpPing(), clientReplyContext::processExpired(), clientReplyContext::processMiss(), HttpStateData::processReplyBody(), clientReplyContext::purgeFoundObject(), HttpStateData::readReply(), Fs::Ufs::RebuildState::rebuildFromDirectory(), Store::Controller::referenceBusy(), FwdState::reforward(), refreshCheck(), release(), releaseRequest(), clientReplyContext::replyStatus(), HttpStateData::reusableReply(), clientReplyContext::sendClientOldEntry(), clientReplyContext::sendClientUpstreamResponse(), Client::sentRequestBody(), Ipc::StoreMapAnchor::set(), Client::setFinalReply(), setMemStatus(), setPrivateKey(), setPublicKey(), setReleaseFlag(), MemStore::shouldCache(), startWriting(), statObjects(), storeCleanup(), storeClientCopy2(), storeClientType(), storeCreatePureEntry(), storeDigestAddable(), storeDigestDel(), storeDigestRewriteResume(), storeDirSwapLog(), storeEntryFlags(), storeRebuildParseEntry(), storeSwapInStart(), swapOut(), testCacheManager::testRegister(), trimMemory(), unlock(), Store::Controller::updateOnNotModified(), urnHandleReply(), validToSend(), write(), and UFSCleanLog::write().

void* hash_link::key
inherited
time_t StoreEntry::lastModified_
private

Definition at line 169 of file Store.h.

Referenced by describeTimestamps(), dump(), lastModified(), reset(), and timestampsSet().

unsigned short StoreEntry::lock_count
private

Definition at line 255 of file Store.h.

Referenced by dump(), lock(), locked(), locks(), and unlock().

MemObject* StoreEntry::mem_obj

Definition at line 162 of file Store.h.

Referenced by Transients::abandon(), Transients::abandoned(), abort(), Store::Disks::accumulateMore(), adjustVary(), Store::Controller::allowCollapsing(), Store::Controller::anchorCollapsed(), MemStore::anchorEntry(), append(), CollapsedForwarding::Broadcast(), bytesWanted(), clientReplyContext::cacheHit(), calcPublicKey(), checkCachable(), StoreMetaURL::checkConsistency(), StoreMetaVary::checkConsistency(), CheckQuickAbortIsReasonable(), checkTooBig(), checkTooSmall(), complete(), FwdState::complete(), FwdState::completed(), MemStore::completeWriting(), Transients::completeWriting(), FwdState::connectStart(), contentLen(), store_client::copy(), MemStore::copyFromShm(), Transients::copyFromShm(), MemStore::copyFromShmSlice(), MemStore::copyToShm(), MemStore::copyToShmSlice(), MimeIcon::created(), createMemObject(), delayAwareRead(), Store::Controller::dereferenceIdle(), destroyMemObject(), Rock::SwapDir::disconnect(), MemStore::disconnect(), store_client::doCopy(), doPages(), dump(), ensureMemObject(), errorAppendEntry(), store_client::fileRead(), findPreviouslyCachedEntry(), getReply(), getSerialisedMetaData(), gopherReadReply(), Store::Controller::handleIdleEntry(), HttpStateData::haveParsedReplyHeaders(), heap_guessType(), HeapKeyGen_StoreEntry_GDSF(), HeapKeyGen_StoreEntry_LFUDA(), HeapKeyGen_StoreEntry_LRU(), htcpClear(), httpMaybeRemovePublic(), invokeHandlers(), isEmpty(), Store::Controller::keepForLocalMemoryCache(), ClientHttpRequest::logRequest(), Store::Controller::markForUnlink(), MemStore::markForUnlink(), mayStartSwapOut(), memoryCachable(), store_client::moreToSend(), neighborsHtcpReply(), neighborsUdpAck(), neighborsUdpPing(), objectLen(), objectSizeForDirSelection(), operator<<(), peerCountHandleIcpReply(), peerCountMcastPeersDone(), peerCountMcastPeersStart(), peerDigestFetchReply(), peerDigestFetchSetStats(), HttpStateData::peerSupportsConnectionPinning(), HttpStateData::processReplyHeader(), purgeMem(), store_client::readBody(), Transients::readers(), store_client::readHeader(), HttpStateData::readReply(), Store::Controller::referenceBusy(), FwdState::reforward(), refreshCheck(), refreshCheckDigest(), refreshIsCachable(), registerAbort(), repl_guessType(), replaceHttpReply(), reset(), store_client::scheduleMemRead(), store_client::scheduleRead(), setMemStatus(), setNoDelay(), LruPolicyData::setPolicyNode(), HeapPolicyData::setPolicyNode(), setPrivateKey(), setPublicKey(), MemStore::shouldCache(), FwdState::Start(), MemStore::startCaching(), Transients::startWriting(), startWriting(), statObjectsOpenfdFilter(), statObjectsVmFilter(), statStoreEntry(), storeClientCopyPending(), storeClientListAdd(), storeClientType(), storeDigestRewriteFinish(), storeDigestRewriteStart(), storeLog(), clientReplyContext::storeNotOKTransferDone(), storePendingNClients(), storeSwapInStart(), storeSwapMetaBuild(), storeSwapOutFileClosed(), storeSwapOutFileNotify(), storeSwapOutStart(), storeUnregister(), swapOut(), swapOutDecision(), swapOutFileClose(), Store::Controller::syncCollapsed(), testRock::testRockSwapOut(), timestampsSet(), Store::Controller::transientReaders(), Store::Controller::transientsAbandon(), transientsAbandonmentCheck(), Store::Controller::transientsCompleteWriting(), trimMemory(), MemStore::unlink(), Transients::unlink(), store_client::unpackHeader(), unregisterAbort(), MemStore::updateCollapsed(), MemStore::updateHeaders(), url(), validLength(), validToSend(), varyEvaluateMatch(), MemStore::write(), write(), and HttpStateData::wroteLast().

MemAllocator * StoreEntry::pool = NULL
staticprivate

Definition at line 253 of file Store.h.

Referenced by inUseCount().

bool StoreEntry::shareableWhenPrivate
private

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 262 of file Store.h.

Referenced by clearPrivate(), mayStartHitting(), operator<<(), and setPrivateKey().


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors