represents a being-forgotten CodeContext (while it may be being destroyed) More...

Inheritance diagram for FadingCodeContext:
Collaboration diagram for FadingCodeContext:

Public Types

typedef RefCount< CodeContextPointer

Public Member Functions

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...

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

ScopedId gist
 identifies the being-forgotten CodeContext More...
Stopwatch busyTime
 time spent in this context (see also: busy_time) More...

Static Private Member Functions

static void ForgetCurrent ()
static void Entering (const Pointer &codeCtx)
static void Leaving ()

Detailed Description

Definition at line 14 of file

Member Typedef Documentation

◆ Pointer

Definition at line 55 of file CodeContext.h.

Member Function Documentation

◆ codeContextGist()

ScopedId FadingCodeContext::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 18 of file

References gist.

◆ Current()

◆ detailCodeContext()

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

Implements CodeContext.

Definition at line 19 of file

References gist.

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

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

◆ Reset() [1/2]

◆ Reset() [2/2]

void CodeContext::Reset ( const Pointer  codeCtx)

Member Data Documentation

◆ busyTime

Stopwatch CodeContext::busyTime

Definition at line 76 of file CodeContext.h.

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

◆ gist

ScopedId FadingCodeContext::gist

Definition at line 21 of file

Referenced by codeContextGist(), and detailCodeContext().

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






Web Site Translations