

| 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... | |
| Protected Attributes | |
| bool | didCollapse = false | 
| whether startCollapsingOn() was called and returned true  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 1227 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 993 of file htcp.cc.
References checkedHit(), checkHitRequest, debugs, StoreClient::didCollapse, 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 961 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 CallAndRestore_(), CallSubscription< Call_ >::callback(), CallContextCreator(), clientConnectionsClose(), clientHttpConnectionsOpen(), commStartHalfClosedMonitor(), CurrentCodeContextDetail(), HappyOrderEnforcer::enqueue(), CommQuotaQueue::enqueue(), StoreEntry::invokeHandlers(), neighborsUdpPing(), peerDnsRefreshStart(), Security::KeyLog::record(), CodeContext::Reset(), ScheduleCall(), Ftp::StartListening(), Ftp::StopListening(), tunnelDelayedClientRead(), and tunnelDelayedServerRead().
◆ detailCodeContext()
| 
 | overridevirtual | 
Implements CodeContext.
Definition at line 978 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 1043 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, FadingCodeContext::gist, 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 1034 of file htcp.cc.
References al, AccessLogEntry::cache, and AccessLogEntry::CacheDetails::code.
◆ mayInitiateCollapsing()
| 
 | inlineprotectedinherited | 
Definition at line 59 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 CallAndRestore_(), CallContextCreator(), checkTimeouts(), clientConnectionsClose(), clientHttpConnectionsOpen(), ClientHttpRequest::ClientHttpRequest(), CodeContextGuard::CodeContextGuard(), comm_close_complete(), Http::Stream::finished(), AsyncCallQueue::fire(), StoreEntry::invokeHandlers(), neighborsUdpPing(), peerCountMcastPeersCreateAndSend(), peerDnsRefreshStart(), ConnStateData::postHttpsAccept(), Ftp::StartListening(), Ftp::StopListening(), tunnelDelayedClientRead(), tunnelDelayedServerRead(), and CodeContextGuard::~CodeContextGuard().
◆ 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, StoreClient::didCollapse, 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 158 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 161 of file htcp.cc.
Referenced by checkHit().
◆ dhdr
| 
 | private | 
Definition at line 164 of file htcp.cc.
Referenced by checkedHit(), fillChecklist(), and setDataHeader().
◆ didCollapse
| 
 | mutableprotectedinherited | 
Definition at line 64 of file StoreClient.h.
Referenced by clientReplyContext::cacheHit(), checkHit(), ICPState::confirmAndPrepHit(), and StoreClient::startCollapsingOn().
◆ from
| 
 | private | 
Definition at line 163 of file htcp.cc.
Referenced by checkedHit(), fillChecklist(), and setFrom().
◆ method
| const char* htcpSpecifier::method = nullptr | 
Definition at line 150 of file htcp.cc.
Referenced by htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().
◆ req_hdrs
| char* htcpSpecifier::req_hdrs = nullptr | 
Definition at line 153 of file htcp.cc.
Referenced by checkHit(), htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().
◆ reqHdrsSz
| size_t htcpSpecifier::reqHdrsSz = 0 | 
Definition at line 154 of file htcp.cc.
Referenced by checkHit(), htcpBuildSpecifier(), and htcpTstReply().
◆ request
| HttpRequest::Pointer htcpSpecifier::request | 
Definition at line 155 of file htcp.cc.
Referenced by checkHit(), codeContextGist(), detailCodeContext(), fillChecklist(), htcpClear(), and htcpTstReply().
◆ uri
| const char* htcpSpecifier::uri = nullptr | 
Definition at line 151 of file htcp.cc.
Referenced by checkedHit(), fillChecklist(), htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().
◆ version
| char* htcpSpecifier::version = nullptr | 
Definition at line 152 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
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products
