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 123 of file

Member Typedef Documentation

◆ Pointer

Definition at line 128 of file

Member Function Documentation

◆ checkedHit()

void htcpSpecifier::checkedHit ( StoreEntry e)

Definition at line 1193 of file

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
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 927 of file

References al, AccessLogEntry::codeContextGist(), HttpRequest::masterXaction, and request.

◆ Current()

◆ detailCodeContext()

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

◆ Entering()

void CodeContext::Entering ( const Pointer codeCtx)

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

References CodeContext::busyTime, CodeContext::codeContextGist(), debugs, CodeContext::ForgetCurrent(), Instance(), and Stopwatch::resume().

Referenced by CodeContext::Reset().

◆ fillChecklist()

void htcpSpecifier::fillChecklist ( ACLFilledChecklist ) const

◆ ForgetCurrent()

void CodeContext::ForgetCurrent ( )

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

References assert, and Instance().

Referenced by CodeContext::Entering(), and CodeContext::Leaving().

◆ Leaving()

void CodeContext::Leaving ( )

Forgets the current known context. Improves debugging output by replacing omni-directional "Reset" with directional "Leaving".

Definition at line 68 of file

References debugs, CodeContext::ForgetCurrent(), and Instance().

Referenced by CodeContext::Reset().

◆ loggingTags()

LogTags * htcpSpecifier::loggingTags ( ) const
LogTags (if the class logs transactions) or nil (otherwise)

Implements StoreClient.

Definition at line 1000 of file

References al, AccessLogEntry::cache, and AccessLogEntry::CacheDetails::code.

◆ mayInitiateCollapsing()

bool StoreClient::mayInitiateCollapsing ( ) const


htcpSpecifier::MEMPROXY_CLASS ( htcpSpecifier  )

◆ onCollapsingPath()

◆ Reset() [1/2]

◆ Reset() [2/2]

void CodeContext::Reset ( const Pointer  codeCtx)

◆ setDataHeader()

void htcpSpecifier::setDataHeader ( htcpDataHeader aDataHeader)

Definition at line 134 of file

References dhdr.

◆ setFrom()

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

Definition at line 133 of file

References from.

◆ startCollapsingOn()

bool StoreClient::startCollapsingOn ( const StoreEntry e,
const bool  doingRevalidation 
) const
whether the caller must collapse on the given entry Before returning true, updates common collapsing-related stats. See also: StoreEntry::hittingRequiresCollapsing().

Definition at line 64 of file

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

Definition at line 155 of file

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

◆ busyTime

Stopwatch CodeContext::busyTime

Definition at line 76 of file CodeContext.h.

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

◆ checkHitRequest

HttpRequest::Pointer htcpSpecifier::checkHitRequest

Definition at line 158 of file

Referenced by checkHit().

◆ dhdr

htcpDataHeader* htcpSpecifier::dhdr = nullptr

Definition at line 161 of file

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

◆ from

Ip::Address htcpSpecifier::from

Definition at line 160 of file

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

◆ method

const char* htcpSpecifier::method = nullptr

Definition at line 147 of file

Referenced by htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().

◆ req_hdrs

char* htcpSpecifier::req_hdrs = nullptr

Definition at line 150 of file

Referenced by checkHit(), htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().

◆ reqHdrsSz

size_t htcpSpecifier::reqHdrsSz = 0

Definition at line 151 of file

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 149 of file

Referenced by htcpBuildSpecifier(), htcpClear(), htcpQuery(), and htcpTstReply().

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






Web Site Translations