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

Member Typedef Documentation

◆ Pointer

Definition at line 55 of file CodeContext.h.

Member Function Documentation

◆ codeContextGist()

ScopedId FadingCodeContext::codeContextGist ( ) const
inlineoverridevirtual
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 18 of file CodeContext.cc.

References gist.

◆ Current()

◆ detailCodeContext()

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

Implements CodeContext.

Definition at line 19 of file CodeContext.cc.

References gist.

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

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

◆ Reset() [1/2]

◆ Reset() [2/2]

void CodeContext::Reset ( const Pointer  codeCtx)
staticinherited

Member Data Documentation

◆ busyTime

Stopwatch CodeContext::busyTime
inherited

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

Referenced by codeContextGist(), and detailCodeContext().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors