#include <Store.h>

Inheritance diagram for NullStoreEntry:
Collaboration diagram for NullStoreEntry:

Public Member Functions

const char * getMD5Text () const
 
HttpReply const * getReply () const
 
void write (StoreIOBuffer)
 
bool isEmpty () const
 
virtual bool isNull () const
 
virtual size_t bytesWanted (Range< size_t > const aRange, bool) const
 
void operator delete (void *address)
 
void complete ()
 
bool checkDeferRead (int fd) const
 
virtual bool isAccepting () const
 
void lengthWentBad (const char *reason)
 flags [truncated or too big] entry with ENTRY_BAD_LENGTH and releases it More...
 
void storeErrorResponse (HttpReply *reply)
 Store a prepared error response. MemObject locks the reply object. More...
 
void replaceHttpReply (HttpReply *, bool andStartWriting=true)
 
void startWriting ()
 
void memOutDecision (const bool willCacheInRam)
 
void swapOutDecision (const MemObject::SwapOut::Decision &decision)
 
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_keypublicKey () 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...
 
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...
 
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 collapsingInitiator () const
 
void * operator new (size_t byteCount)
 
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)
 
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...
 
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 NullStoreEntrygetInstance ()
 
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 Types

typedef Store::EntryGuard EntryGuard
 

Protected Member Functions

void transientsAbandonmentCheck ()
 
void checkDisk () const
 does nothing except throwing if disk-associated data members are inconsistent More...
 

Private Member Functions

store_client_t storeClientType () const
 
char const * getSerialisedMetaData ()
 
virtual bool mayStartSwapOut ()
 whether we may start writing to disk (now or in the future) More...
 
void trimMemory (const bool)
 

Static Private Attributes

static NullStoreEntry _instance
 

Detailed Description

Definition at line 324 of file Store.h.

Member Typedef Documentation

typedef Store::EntryGuard StoreEntry::EntryGuard
protectedinherited

Definition at line 286 of file Store.h.

Member Function Documentation

void StoreEntry::abandon ( const char *  context)
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 264 of file Store.h.

References StoreEntry::doAbandon(), and StoreEntry::locked().

Referenced by StoreEntry::unlock().

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().

void StoreEntry::attachToDisk ( const sdirno  dirn,
const sfileno  fno,
const swap_status_t  status 
)
inherited

Makes hasDisk(dirn, filn) true. The caller should have locked the corresponding disk store entry for reading or writing.

Definition at line 2020 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().

virtual size_t NullStoreEntry::bytesWanted ( Range< size_t > const  aRange,
bool   
) const
inlinevirtual

Reimplemented from StoreEntry.

Definition at line 338 of file Store.h.

References Range< C, S >::end.

void StoreEntry::cacheInMemory ( )
inherited
bool StoreEntry::cacheNegatively ( )
inherited
bool StoreEntry::checkDeferRead ( int  fd) const
inherited

Definition at line 245 of file store.cc.

References StoreEntry::bytesWanted(), and INT_MAX.

Referenced by statObjects(), and StoreEntry::swapOut().

int StoreEntry::checkNegativeHit ( ) const
inherited
void StoreEntry::clearPrivate ( )
inherited

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

Definition at line 156 of file store.cc.

References assert, EBIT_CLR, EBIT_TEST, StoreEntry::flags, KEY_PRIVATE, RELEASE_REQUEST, and StoreEntry::shareableWhenPrivate.

Referenced by StoreEntry::forcePublicKey().

void StoreEntry::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 645 of file store.cc.

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

Referenced by clientReplyContext::handleIMSReply().

bool StoreEntry::collapsingInitiator ( ) const
inherited

whether this is a collapsed forwarding-created public entry that still has not received its response headers; new requests may collapse on it

Definition at line 2083 of file store.cc.

References EBIT_TEST, ENTRY_FWD_HDR_WAIT, StoreEntry::flags, StoreEntry::hasDisk(), StoreEntry::hasMemStore(), StoreEntry::hasTransients(), and StoreEntry::publicKey().

Referenced by UrnState::created(), htcpSpecifier::created(), ICPState::foundHit(), clientReplyContext::identifyFoundObject(), and StoreClient::mayCollapseOn().

void NullStoreEntry::complete ( )
inlinevirtual

Reimplemented from StoreEntry.

Definition at line 341 of file Store.h.

int64_t StoreEntry::contentLen ( ) const
virtualinherited
void StoreEntry::createMemObject ( )
inherited

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

Definition at line 1627 of file store.cc.

References assert, and StoreEntry::mem_obj.

Referenced by Rock::SwapDir::get(), MemStore::get(), Transients::get(), storeCreatePureEntry(), testStoreController::testMaxSize(), testStoreHashIndex::testMaxSize(), testStoreController::testStats(), and testStoreHashIndex::testStats().

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

Definition at line 1634 of file store.cc.

References assert, StoreEntry::ensureMemObject(), and StoreEntry::mem_obj.

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

Definition at line 2071 of file store.cc.

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

Referenced by statStoreEntry().

void StoreEntry::detachFromDisk ( )
inherited

Makes hasDisk() false. The caller should have unlocked the corresponding disk store entry.

Definition at line 2034 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().

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

Definition at line 808 of file store.cc.

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

void StoreEntry::flush ( )
virtualinherited
char const * NullStoreEntry::getMD5Text ( ) const
virtual

Reimplemented from StoreEntry.

Definition at line 2176 of file store.cc.

void StoreEntry::getPublic ( StoreClient aClient,
const char *  uri,
const HttpRequestMethod method 
)
staticinherited
void StoreEntry::getPublicByRequest ( StoreClient aClient,
HttpRequest request 
)
staticinherited
void StoreEntry::getPublicByRequestMethod ( StoreClient aClient,
HttpRequest request,
const HttpRequestMethod method 
)
staticinherited
HttpReply const* NullStoreEntry::getReply ( ) const
inlinevirtual

Reimplemented from StoreEntry.

Definition at line 331 of file Store.h.

References NULL.

char const * NullStoreEntry::getSerialisedMetaData ( )
privatevirtual

Reimplemented from StoreEntry.

Definition at line 2188 of file store.cc.

References NULL.

bool StoreEntry::hasEtag ( ETag etag) const
inherited

Definition at line 1942 of file store.cc.

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

Referenced by clientReplyContext::processExpired().

void StoreEntry::hashDelete ( )
inherited
bool StoreEntry::hasIfMatchEtag ( const HttpRequest request) const
inherited
size_t StoreEntry::inUseCount ( )
staticinherited
bool StoreEntry::isAccepting ( ) const
virtualinherited
bool NullStoreEntry::isEmpty ( ) const
inlinevirtual

Check if the Store entry is emtpty

Return values
trueStore contains 0 bytes of data.
falseStore contains 1 or more bytes of data.
falseStore contains negative content !!!!!!

Reimplemented from StoreEntry.

Definition at line 334 of file Store.h.

virtual bool NullStoreEntry::isNull ( ) const
inlinevirtual

Reimplemented from StoreEntry.

Definition at line 337 of file Store.h.

void StoreEntry::kickProducer ( )
inherited

Definition at line 361 of file store.cc.

References StoreEntry::deferredProducer, NULL, and ScheduleCallHere.

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

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

Definition at line 159 of file Store.h.

References StoreEntry::lastModified_, and StoreEntry::timestamp.

Referenced by StoreEntry::modifiedSince(), and StoreEntry::timestampsSet().

void StoreEntry::lengthWentBad ( const char *  reason)
inherited
int StoreEntry::locks ( ) const
inlineinherited

Definition at line 248 of file Store.h.

References StoreEntry::lock_count.

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

void StoreEntry::makePrivate ( const bool  shareable)
inherited
bool StoreEntry::mayStartHitting ( ) const
inlineinherited

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

Definition at line 268 of file Store.h.

References EBIT_TEST, StoreEntry::flags, KEY_PRIVATE, and StoreEntry::shareableWhenPrivate.

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

virtual bool NullStoreEntry::mayStartSwapOut ( )
inlineprivatevirtual

Reimplemented from StoreEntry.

Definition at line 347 of file Store.h.

void StoreEntry::memOutDecision ( const bool  willCacheInRam)
inherited

Definition at line 1868 of file store.cc.

References StoreEntry::transientsAbandonmentCheck().

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

bool StoreEntry::modifiedSince ( const time_t  ims,
const int  imslen = -1 
) const
inherited
void StoreEntry::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 1399 of file store.cc.

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

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

void NullStoreEntry::operator delete ( void *  address)

Definition at line 2182 of file store.cc.

References fatal().

void * StoreEntry::operator new ( size_t  byteCount)
inherited

Definition at line 125 of file store.cc.

References assert, and memPoolCreate.

const cache_key* StoreEntry::publicKey ( ) const
inlineinherited
Returns
public key (if the entry has it) or nil (otherwise)

Definition at line 98 of file Store.h.

References EBIT_TEST, StoreEntry::flags, hash_link::key, and KEY_PRIVATE.

Referenced by StoreEntry::collapsingInitiator(), Store::Disks::evictCached(), Rock::SwapDir::evictCached(), and MemStore::evictCached().

void StoreEntry::registerAbort ( STABH cb,
void *  data 
)
inherited
void StoreEntry::release ( const bool  shareable = false)
virtualinherited
void StoreEntry::setNoDelay ( bool const  newValue)
inherited

Definition at line 251 of file store.cc.

References StoreEntry::mem_obj, and MemObject::setNoDelay().

Referenced by HttpStateData::HttpStateData().

void StoreEntry::setPrivateKey ( const bool  shareable,
const bool  permanent 
)
inherited

Either fills this entry with private key or changes the existing key from public to private.

Parameters
permanentwhether this entry should be private forever.

Definition at line 578 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, NULL, RELEASE_REQUEST, Store::Root(), StoreEntry::shareableWhenPrivate, store_table, and storeKeyPrivate().

Referenced by StoreEntry::releaseRequest(), and storeCreateEntry().

store_client_t NullStoreEntry::storeClientType ( ) const
inlineprivatevirtual

Reimplemented from StoreEntry.

Definition at line 344 of file Store.h.

References STORE_MEM_CLIENT.

void StoreEntry::swapOutDecision ( const MemObject::SwapOut::Decision decision)
inherited
void StoreEntry::swapOutFileClose ( int  how)
inherited
void StoreEntry::touch ( )
inherited

Definition at line 442 of file store.cc.

References StoreEntry::lastref, and squid_curtime.

void StoreEntry::transientsAbandonmentCheck ( )
protectedinherited

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

References debugs, MemObject::SwapOut::decision, StoreEntry::hasMemStore(), StoreEntry::hasTransients(), StoreEntry::mem_obj, Store::Root(), shutting_down, Store::Controller::stopSharing(), MemObject::swapout, and MemObject::SwapOut::swImpossible.

Referenced by StoreEntry::memOutDecision(), and StoreEntry::swapOutDecision().

void NullStoreEntry::trimMemory ( const bool  )
inlineprivatevirtual

Reimplemented from StoreEntry.

Definition at line 349 of file Store.h.

void StoreEntry::unregisterAbort ( )
inherited
const char * StoreEntry::url ( ) const
inherited

Definition at line 1618 of file store.cc.

References StoreEntry::mem_obj, NULL, and MemObject::storeId().

Referenced by asHandleReply(), FwdState::complete(), FwdState::connectDone(), FwdState::connectStart(), FwdState::connectTimeout(), HttpStateData::continueAfterParsingHeader(), FwdState::dispatch(), FwdState::fail(), ftpSendReply(), FwdState::FwdState(), Ftp::Gateway::Gateway(), gopherSendComplete(), gopherStart(), gopherTimeout(), gopherToHTML(), clientReplyContext::handleIMSReply(), HttpStateData::handleMoreRequestBodyAvailable(), FwdState::handleUnregisteredServerEnd(), htcpClear(), htcpClrStoreEntry(), htcpQuery(), HttpStateData::httpBuildRequestHeader(), httpStart(), HttpStateData::httpTimeout(), HttpStateData::keepaliveAccounting(), StoreEntry::mayStartSwapOut(), StoreEntry::modifiedSince(), neighborsUdpPing(), peerSelect(), peerSelectIcpPing(), clientReplyContext::purgeDoPurgeGet(), clientReplyContext::purgeDoPurgeHead(), WhoisState::readReply(), FwdState::reforward(), StoreEntry::replaceHttpReply(), StoreEntry::reset(), clientReplyContext::sendMoreData(), FwdState::serverClosed(), UrnState::start(), CacheManager::Start(), FwdState::Start(), FwdState::startConnectionOrFail(), HttpStateData::statusIfComplete(), storeDigestDel(), storeSwapMetaBuild(), storeSwapOutFileClosed(), storeSwapOutStart(), StoreEntry::swapOut(), FwdState::unregister(), PeerSelector::url(), urnHandleReply(), whoisTimeout(), ASState::~ASState(), netdbExchangeState::~netdbExchangeState(), and PeerSelector::~PeerSelector().

void StoreEntry::vappendf ( const char *  fmt,
va_list  ap 
)
virtualinherited

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

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

Referenced by storeAppendPrintf(), and storeAppendVPrintf().

void NullStoreEntry::write ( StoreIOBuffer  )
inlinevirtual

Reimplemented from StoreEntry.

Definition at line 332 of file Store.h.

Member Data Documentation

NullStoreEntry NullStoreEntry::_instance
staticprivate

Definition at line 351 of file Store.h.

Referenced by getInstance().

ESIElement::Pointer StoreEntry::cachedESITree
inherited
void StoreEntry::DeferReader
staticinherited

Definition at line 45 of file Store.h.

Referenced by StoreEntry::delayAwareRead().

uint16_t StoreEntry::flags
inherited

Definition at line 206 of file Store.h.

Referenced by StoreEntry::abort(), Fs::Ufs::UFSSwapDir::addDiskRestore(), addedEntry(), Store::Controller::addWriting(), MemStore::anchorEntry(), Rock::SwapDir::anchorEntry(), asHandleReply(), StoreEntry::buffer(), clientReplyContext::buildReplyHeader(), clientReplyContext::cacheHit(), Store::Disk::canLog(), Store::Disk::canStore(), StoreEntry::checkCachable(), StoreMetaMD5::checkConsistency(), StoreEntry::checkNegativeHit(), CheckQuickAbortIsReasonable(), StoreEntry::checkTooSmall(), Store::Controller::checkTransients(), StoreEntry::clearPrivate(), StoreEntry::clearPublicKeyScope(), StoreEntry::collapsingInitiator(), StoreEntry::complete(), FwdState::completed(), store_client::copy(), MemStore::copyToShm(), MimeIcon::created(), Store::Controller::dereferenceIdle(), FwdState::dispatch(), StoreEntry::doAbandon(), dummy_action(), errorAppendEntry(), clientReplyContext::errorInStream(), Store::Disks::evictCached(), Ipc::StoreMapAnchor::exportInto(), StoreEntry::flush(), gopherReadReply(), Store::Controller::handleIdleEntry(), clientReplyContext::handleIMSReply(), Http::One::Server::handleReply(), HttpStateData::haveParsedReplyHeaders(), heap_add(), httpMaybeRemovePublic(), clientReplyContext::identifyFoundObject(), StoreEntry::invokeHandlers(), StoreEntry::isAccepting(), StoreEntry::lengthWentBad(), StoreEntry::locked(), Fs::Ufs::UFSSwapDir::logEntry(), StoreEntry::makePublic(), StoreEntry::mayStartHitting(), StoreEntry::mayStartSwapOut(), StoreEntry::negativeCache(), neighborsHtcpReply(), neighborsUdpAck(), netdbExchangeHandleReply(), InitStoreEntry::operator()(), operator<<(), peerDigestFetchedEnough(), peerDigestRequest(), peerSelectIcpPing(), clientReplyContext::processExpired(), clientReplyContext::processMiss(), HttpStateData::processReplyBody(), StoreEntry::publicKey(), clientReplyContext::purgeFoundObject(), 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(), 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::Controller::updateOnNotModified(), urnHandleReply(), StoreEntry::validToSend(), StoreEntry::write(), and UFSCleanLog::write().

void* hash_link::key
inherited

Definition at line 19 of file hash.h.

Referenced by aclMatchExternal(), MemStore::anchorToCache(), Rock::SwapDir::anchorToCache(), cacheIndexCmp(), StoreMetaMD5::checkConsistency(), StoreEntry::clearPublicKeyScope(), ClientInfo::ClientInfo(), Rock::SwapDir::createStoreIO(), CommQuotaQueue::dequeue(), destroyStoreEntry(), LeakFinder::dump(), CommQuotaQueue::enqueue(), external_acl_cache_add(), StoreEntry::forcePublicKey(), fqdncache_entry::fqdncache_entry(), fqdncacheAddEntry(), fqdncacheParse(), StoreEntry::getMD5Text(), hash_join(), hash_lookup(), hash_remove_link(), hash_unlink(), StoreEntry::hashDelete(), StoreEntry::hashInsert(), hashKeyStr(), Rock::SwapDir::hasReadableEntry(), htcpQuery(), IdleConnList::IdleConnList(), idnsStartQuery(), ipcache_entry::ipcache_entry(), ipcacheAddEntry(), ipcacheRelease(), LeakFinderPtr::LeakFinderPtr(), Fs::Ufs::UFSSwapDir::logEntry(), Store::Controller::markedForDeletionAndAbandoned(), my_free(), ipcache_entry::name(), neighborsUdpPing(), net_db_name::net_db_name(), netdbHashInsert(), Ipc::StoreMap::openForUpdating(), Rock::SwapDir::openStoreIO(), peerCountMcastPeersStart(), StoreEntry::publicKey(), read_passwd_file(), Ipc::StoreMapAnchor::set(), StoreEntry::setPrivateKey(), StoreEntry::setPublicKey(), ClientInfo::setWriteLimiter(), Ident::Start(), MemStore::startCaching(), storeDigestAdd(), storeDigestDel(), storeRebuildParseEntry(), storeSwapMetaBuild(), UFSCleanLog::write(), ClientInfo::~ClientInfo(), ExternalACLEntry::~ExternalACLEntry(), fqdncache_entry::~fqdncache_entry(), IdleConnList::~IdleConnList(), and net_db_name::~net_db_name().

MemObject* StoreEntry::mem_obj
inherited

Definition at line 195 of file Store.h.

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


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors