Public Types | |
typedef RefCount< htcpSpecifier > | Pointer |
Public Member Functions | |
void | checkHit () |
void | checkedHit (StoreEntry *) |
void | setFrom (Ip::Address &anIp) |
void | setDataHeader (htcpDataHeader *aDataHeader) |
ScopedId | codeContextGist () const override |
std::ostream & | detailCodeContext (std::ostream &os) const override |
appends human-friendly context description line(s) to a cache.log record More... | |
LogTags * | loggingTags () const override |
void | fillChecklist (ACLFilledChecklist &) const override |
configure the given checklist (to reflect the current transaction state) More... | |
Static Public Member Functions | |
static const Pointer & | Current () |
static void | Reset () |
forgets the current context, setting it to nil/unknown More... | |
static void | Reset (const Pointer) |
changes the current context; nil argument sets it to nil/unknown More... | |
Public Attributes | |
const char * | method = nullptr |
const char * | uri = nullptr |
char * | version = nullptr |
char * | req_hdrs = nullptr |
size_t | reqHdrsSz = 0 |
size of the req_hdrs content More... | |
HttpRequest::Pointer | request |
AccessLogEntryPointer | al |
optimization: nil until needed More... | |
Stopwatch | busyTime |
time spent in this context (see also: busy_time) More... | |
Protected Member Functions | |
bool | startCollapsingOn (const StoreEntry &, const bool doingRevalidation) const |
bool | mayInitiateCollapsing () const |
whether Squid configuration allows us to become a CF initiator More... | |
bool | onCollapsingPath () const |
whether Squid configuration allows collapsing for this transaction More... | |
Private Member Functions | |
MEMPROXY_CLASS (htcpSpecifier) | |
Static Private Member Functions | |
static void | ForgetCurrent () |
static void | Entering (const Pointer &codeCtx) |
static void | Leaving () |
Private Attributes | |
HttpRequest::Pointer | checkHitRequest |
Ip::Address | from |
htcpDataHeader * | dhdr = nullptr |
Detailed Description
Member Typedef Documentation
◆ Pointer
typedef RefCount<htcpSpecifier> htcpSpecifier::Pointer |
Member Function Documentation
◆ checkedHit()
void htcpSpecifier::checkedHit | ( | StoreEntry * | e | ) |
Definition at line 1194 of file htcp.cc.
References al, dhdr, from, htcpLogHtcp(), htcpTstReply(), LOG_UDP_HIT, LOG_UDP_MISS, _htcpDataHeader::opcode, and uri.
Referenced by checkHit().
◆ checkHit()
void htcpSpecifier::checkHit | ( | ) |
Definition at line 960 of file htcp.cc.
References checkedHit(), checkHitRequest, debugs, RefCount< C >::getRaw(), HttpRequest::parseHeader(), refreshCheckHTCP(), req_hdrs, reqHdrsSz, request, StoreClient::startCollapsingOn(), and storeGetPublicByRequest().
◆ codeContextGist()
|
overridevirtual |
- Returns
- a small, permanent ID of the current context gists persist forever and are suitable for passing to other SMP workers
Implements CodeContext.
Definition at line 928 of file htcp.cc.
References al, AccessLogEntry::codeContextGist(), HttpRequest::masterXaction, and request.
◆ Current()
|
staticinherited |
- Returns
- the known global context or, to indicate unknown context, nil
Definition at line 33 of file CodeContext.cc.
References Instance().
Referenced by CallSubscription< Call_ >::callback(), CallBack(), CallContextCreator(), clientConnectionsClose(), clientHttpConnectionsOpen(), commStartHalfClosedMonitor(), CurrentCodeContextDetail(), HappyOrderEnforcer::enqueue(), CommQuotaQueue::enqueue(), StoreEntry::invokeHandlers(), Security::KeyLog::record(), CodeContext::Reset(), ScheduleCall(), Ftp::StartListening(), Ftp::StopListening(), tunnelDelayedClientRead(), and tunnelDelayedServerRead().
◆ detailCodeContext()
|
overridevirtual |
Implements CodeContext.
Definition at line 945 of file htcp.cc.
References al, AccessLogEntry::detailCodeContext(), Debug::Extra(), HttpRequest::masterXaction, and request.
◆ Entering()
|
staticprivateinherited |
Switches the current context to the given known context. Improves debugging output by replacing omni-directional "Reset" with directional "Entering".
Definition at line 55 of file CodeContext.cc.
References CodeContext::busyTime, CodeContext::codeContextGist(), debugs, CodeContext::ForgetCurrent(), Instance(), and Stopwatch::resume().
Referenced by CodeContext::Reset().
◆ fillChecklist()
|
overridevirtual |
Implements Acl::ChecklistFiller.
Definition at line 1010 of file htcp.cc.
References ACLFilledChecklist::al, al, dhdr, from, RefCount< C >::getRaw(), htcpSyncAle(), _htcpDataHeader::opcode, request, ACLFilledChecklist::setRequest(), and uri.
◆ ForgetCurrent()
|
staticprivateinherited |
Forgets the current known context, possibly triggering its destruction. Preserves the gist of the being-forgotten context during its destruction. Knows nothing about the next context – the caller must set it.
Definition at line 42 of file CodeContext.cc.
References assert, and Instance().
Referenced by CodeContext::Entering(), and CodeContext::Leaving().
◆ Leaving()
|
staticprivateinherited |
Forgets the current known context. Improves debugging output by replacing omni-directional "Reset" with directional "Leaving".
Definition at line 68 of file CodeContext.cc.
References debugs, CodeContext::ForgetCurrent(), and Instance().
Referenced by CodeContext::Reset().
◆ loggingTags()
|
overridevirtual |
- Returns
- LogTags (if the class logs transactions) or nil (otherwise)
Implements StoreClient.
Definition at line 1001 of file htcp.cc.
References al, AccessLogEntry::cache, and AccessLogEntry::CacheDetails::code.
◆ mayInitiateCollapsing()
|
inlineprotectedinherited |
Definition at line 58 of file StoreClient.h.
References StoreClient::onCollapsingPath().
Referenced by clientReplyContext::createStoreEntry(), and clientReplyContext::processExpired().
◆ MEMPROXY_CLASS()
|
private |
◆ onCollapsingPath()
|
protectedinherited |
Definition at line 52 of file store_client.cc.
References SquidConfig::accessList, Acl::Answer::allowed(), SquidConfig::collapsed_forwarding, SquidConfig::collapsedForwardingAccess, Config, ACLChecklist::fastCheck(), Acl::ChecklistFiller::fillChecklist(), and SquidConfig::onoff.
Referenced by StoreClient::mayInitiateCollapsing(), and StoreClient::startCollapsingOn().
◆ Reset() [1/2]
|
staticinherited |
Definition at line 77 of file CodeContext.cc.
References Instance(), and CodeContext::Leaving().
Referenced by ClientHttpRequest::ClientHttpRequest(), CodeContextGuard::CodeContextGuard(), CodeContextGuard::~CodeContextGuard(), CallBack(), CallContextCreator(), checkTimeouts(), clientConnectionsClose(), clientHttpConnectionsOpen(), comm_close_complete(), Http::Stream::finished(), AsyncCallQueue::fire(), StoreEntry::invokeHandlers(), peerCountMcastPeersCreateAndSend(), ConnStateData::postHttpsAccept(), Ftp::StartListening(), Ftp::StopListening(), tunnelDelayedClientRead(), and tunnelDelayedServerRead().
◆ Reset() [2/2]
|
staticinherited |
Definition at line 84 of file CodeContext.cc.
References CodeContext::Current(), CodeContext::Entering(), and CodeContext::Leaving().
◆ setDataHeader()
|
inline |
◆ setFrom()
|
inline |
◆ startCollapsingOn()
|
protectedinherited |
- Returns
- whether the caller must collapse on the given entry Before returning true, updates common collapsing-related stats. See also: StoreEntry::hittingRequiresCollapsing().
Definition at line 66 of file store_client.cc.
References debugs, StoreEntry::hittingRequiresCollapsing(), StoreClient::loggingTags(), and StoreClient::onCollapsingPath().
Referenced by checkHit(), ICPState::confirmAndPrepHit(), clientReplyContext::identifyFoundObject(), clientReplyContext::processExpired(), and UrnState::start().
Member Data Documentation
◆ al
|
mutable |
Definition at line 156 of file htcp.cc.
Referenced by checkedHit(), codeContextGist(), detailCodeContext(), fillChecklist(), and loggingTags().
◆ busyTime
|
inherited |
Definition at line 76 of file CodeContext.h.
Referenced by Format::Format::assemble(), and CodeContext::Entering().
◆ checkHitRequest
|
private |
Definition at line 159 of file htcp.cc.
Referenced by checkHit().
◆ dhdr
|
private |
Definition at line 162 of file htcp.cc.
Referenced by checkedHit(), fillChecklist(), and setDataHeader().
◆ from
|
private |
Definition at line 161 of file htcp.cc.
Referenced by checkedHit(), fillChecklist(), and setFrom().
◆ method
const char* htcpSpecifier::method = nullptr |
Definition at line 148 of file htcp.cc.
Referenced by htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().
◆ req_hdrs
char* htcpSpecifier::req_hdrs = nullptr |
Definition at line 151 of file htcp.cc.
Referenced by checkHit(), htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().
◆ reqHdrsSz
size_t htcpSpecifier::reqHdrsSz = 0 |
Definition at line 152 of file htcp.cc.
Referenced by checkHit(), htcpBuildSpecifier(), and htcpTstReply().
◆ request
HttpRequest::Pointer htcpSpecifier::request |
Definition at line 153 of file htcp.cc.
Referenced by checkHit(), codeContextGist(), detailCodeContext(), fillChecklist(), htcpClear(), and htcpTstReply().
◆ uri
const char* htcpSpecifier::uri = nullptr |
Definition at line 149 of file htcp.cc.
Referenced by checkedHit(), fillChecklist(), htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().
◆ version
char* htcpSpecifier::version = nullptr |
Definition at line 150 of file htcp.cc.
Referenced by htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().
The documentation for this class was generated from the following file:
- src/htcp.cc