Inheritance diagram for htcpSpecifier:
Collaboration diagram for htcpSpecifier:

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

Definition at line 124 of file htcp.cc.

Member Typedef Documentation

◆ Pointer

Definition at line 129 of file htcp.cc.

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

◆ codeContextGist()

ScopedId htcpSpecifier::codeContextGist ( ) const
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()

◆ detailCodeContext()

std::ostream & htcpSpecifier::detailCodeContext ( std::ostream &  os) const
overridevirtual

◆ Entering()

void CodeContext::Entering ( const Pointer &  codeCtx)
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()

void htcpSpecifier::fillChecklist ( ACLFilledChecklist &  ) const
overridevirtual

◆ ForgetCurrent()

void CodeContext::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()

void CodeContext::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()

LogTags * htcpSpecifier::loggingTags ( ) const
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()

bool StoreClient::mayInitiateCollapsing ( ) const
inlineprotectedinherited

◆ MEMPROXY_CLASS()

htcpSpecifier::MEMPROXY_CLASS ( htcpSpecifier  )
private

◆ onCollapsingPath()

◆ Reset() [1/2]

◆ Reset() [2/2]

void CodeContext::Reset ( const Pointer  codeCtx)
staticinherited

◆ setDataHeader()

void htcpSpecifier::setDataHeader ( htcpDataHeader *  aDataHeader)
inline

Definition at line 135 of file htcp.cc.

References dhdr.

◆ setFrom()

void htcpSpecifier::setFrom ( Ip::Address &  anIp)
inline

Definition at line 134 of file htcp.cc.

References from.

◆ startCollapsingOn()

bool StoreClient::startCollapsingOn ( const StoreEntry &  e,
const bool  doingRevalidation 
) const
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

AccessLogEntryPointer htcpSpecifier::al
mutable

Definition at line 156 of file htcp.cc.

Referenced by checkedHit(), codeContextGist(), detailCodeContext(), fillChecklist(), and loggingTags().

◆ busyTime

Stopwatch CodeContext::busyTime
inherited

Definition at line 76 of file CodeContext.h.

Referenced by Format::Format::assemble(), and CodeContext::Entering().

◆ checkHitRequest

HttpRequest::Pointer htcpSpecifier::checkHitRequest
private

Definition at line 159 of file htcp.cc.

Referenced by checkHit().

◆ dhdr

htcpDataHeader* htcpSpecifier::dhdr = nullptr
private

Definition at line 162 of file htcp.cc.

Referenced by checkedHit(), fillChecklist(), and setDataHeader().

◆ from

Ip::Address htcpSpecifier::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

◆ uri

const char* htcpSpecifier::uri = nullptr

◆ 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:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors