Inheritance diagram for htcpSpecifier:
Collaboration diagram for htcpSpecifier:

Public Types

typedef RefCount< htcpSpecifierPointer
 

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...
 
LogTagsloggingTags () const override
 
void fillChecklist (ACLFilledChecklist &) const override
 configure the given checklist (to reflect the current transaction state) More...
 

Static Public Member Functions

static const PointerCurrent ()
 
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
 
htcpDataHeaderdhdr = 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