Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
absl::cord_internal::CordzInfo Class Reference

#include <cordz_info.h>

Inheritance diagram for absl::cord_internal::CordzInfo:
Inheritance graph
[legend]

Classes

struct  List
 

Public Types

using MethodIdentifier = CordzUpdateTracker::MethodIdentifier
 
using MethodIdentifier = CordzUpdateTracker::MethodIdentifier
 

Public Member Functions

void AssertHeld () ABSL_ASSERT_EXCLUSIVE_LOCK(mutex_)
 
void AssertHeld () ABSL_ASSERT_EXCLUSIVE_LOCK(mutex_)
 
 CordzInfo ()=delete
 
 CordzInfo ()=delete
 
 CordzInfo (const CordzInfo &)=delete
 
 CordzInfo (const CordzInfo &)=delete
 
CordRepGetCordRepForTesting () const ABSL_NO_THREAD_SAFETY_ANALYSIS
 
CordRepGetCordRepForTesting () const ABSL_NO_THREAD_SAFETY_ANALYSIS
 
CordzStatistics GetCordzStatistics () const
 
CordzStatistics GetCordzStatistics () const
 
absl::Span< void *constGetParentStack () const
 
absl::Span< void *constGetParentStack () const
 
absl::Span< void *constGetStack () const
 
absl::Span< void *constGetStack () const
 
void Lock (MethodIdentifier method) ABSL_EXCLUSIVE_LOCK_FUNCTION(mutex_)
 
void Lock (MethodIdentifier method) ABSL_EXCLUSIVE_LOCK_FUNCTION(mutex_)
 
CordzInfoNext (const CordzSnapshot &snapshot) const ABSL_NO_THREAD_SAFETY_ANALYSIS
 
CordzInfoNext (const CordzSnapshot &snapshot) const ABSL_NO_THREAD_SAFETY_ANALYSIS
 
CordzInfooperator= (const CordzInfo &)=delete
 
CordzInfooperator= (const CordzInfo &)=delete
 
void RecordMetrics (int64_t size)
 
CordRepRefCordRep () const ABSL_LOCKS_EXCLUDED(mutex_)
 
CordRepRefCordRep () const ABSL_LOCKS_EXCLUDED(mutex_)
 
void SetCordRep (CordRep *rep)
 
void SetCordRep (CordRep *rep)
 
void SetCordRepForTesting (CordRep *rep) ABSL_NO_THREAD_SAFETY_ANALYSIS
 
void Unlock () ABSL_UNLOCK_FUNCTION(mutex_)
 
void Unlock () ABSL_UNLOCK_FUNCTION(mutex_)
 
void Untrack ()
 
void Untrack ()
 
- Public Member Functions inherited from absl::cord_internal::CordzHandle
 CordzHandle ()
 
 CordzHandle ()
 
std::vector< const CordzHandle * > DiagnosticsGetSafeToInspectDeletedHandles ()
 
std::vector< const CordzHandle * > DiagnosticsGetSafeToInspectDeletedHandles ()
 
bool DiagnosticsHandleIsSafeToInspect (const CordzHandle *handle) const
 
bool DiagnosticsHandleIsSafeToInspect (const CordzHandle *handle) const
 
bool is_snapshot () const
 
bool is_snapshot () const
 
bool SafeToDelete () const
 
bool SafeToDelete () const
 

Static Public Member Functions

static CordzInfoHead (const CordzSnapshot &snapshot) ABSL_NO_THREAD_SAFETY_ANALYSIS
 
static CordzInfoHead (const CordzSnapshot &snapshot) ABSL_NO_THREAD_SAFETY_ANALYSIS
 
static void MaybeTrackCord (InlineData &cord, const InlineData &src, MethodIdentifier method)
 
static void MaybeTrackCord (InlineData &cord, const InlineData &src, MethodIdentifier method)
 
static void MaybeTrackCord (InlineData &cord, MethodIdentifier method)
 
static void MaybeTrackCord (InlineData &cord, MethodIdentifier method)
 
static void MaybeUntrackCord (CordzInfo *info)
 
static void MaybeUntrackCord (CordzInfo *info)
 
static void TrackCord (InlineData &cord, const InlineData &src, MethodIdentifier method)
 
static void TrackCord (InlineData &cord, const InlineData &src, MethodIdentifier method)
 
static void TrackCord (InlineData &cord, MethodIdentifier method)
 
static void TrackCord (InlineData &cord, MethodIdentifier method)
 
- Static Public Member Functions inherited from absl::cord_internal::CordzHandle
static void Delete (CordzHandle *handle)
 
static void Delete (CordzHandle *handle)
 
static std::vector< const CordzHandle * > DiagnosticsGetDeleteQueue ()
 
static std::vector< const CordzHandle * > DiagnosticsGetDeleteQueue ()
 

Private Types

using SpinLock = absl::base_internal::SpinLock
 
using SpinLock = absl::base_internal::SpinLock
 
using SpinLockHolder = ::absl::base_internal::SpinLockHolder
 
using SpinLockHolder = ::absl::base_internal::SpinLockHolder
 

Private Member Functions

CordRep *rep_ ABSL_GUARDED_BY (mutex_)
 
CordRep *rep_ ABSL_GUARDED_BY (mutex_)
 
 CordzInfo (CordRep *rep, const CordzInfo *src, MethodIdentifier method)
 
 CordzInfo (CordRep *rep, const CordzInfo *src, MethodIdentifier method)
 
void ODRCheck () const
 
void ODRCheck () const
 
void Track ()
 
void Track ()
 
void UnsafeSetCordRep (CordRep *rep) ABSL_NO_THREAD_SAFETY_ANALYSIS
 
void UnsafeSetCordRep (CordRep *rep) ABSL_NO_THREAD_SAFETY_ANALYSIS
 
 ~CordzInfo () override
 
 ~CordzInfo () override
 

Static Private Member Functions

static int FillParentStack (const CordzInfo *src, void **stack)
 
static int FillParentStack (const CordzInfo *src, void **stack)
 
static MethodIdentifier GetParentMethod (const CordzInfo *src)
 
static MethodIdentifier GetParentMethod (const CordzInfo *src)
 
static void MaybeTrackCordImpl (InlineData &cord, const InlineData &src, MethodIdentifier method)
 

Private Attributes

std::atomic< CordzInfo * > ci_next_ {nullptr}
 
std::atomic< CordzInfo * > ci_prev_ {nullptr}
 
const absl::Time create_time_
 
List *const list_ = &global_list_
 
const MethodIdentifier method_
 
absl::Mutex mutex_
 
const MethodIdentifier parent_method_
 
void * parent_stack_ [kMaxStackDepth]
 
const int parent_stack_depth_
 
std::atomic< int64_tsize_ {0}
 
void * stack_ [kMaxStackDepth]
 
const int stack_depth_
 
CordzUpdateTracker update_tracker_
 

Static Private Attributes

static ABSL_CONST_INIT List global_list_ {absl::kConstInit}
 
static constexpr int kMaxStackDepth = 64
 

Additional Inherited Members

- Protected Member Functions inherited from absl::cord_internal::CordzHandle
 CordzHandle (bool is_snapshot)
 
 CordzHandle (bool is_snapshot)
 
virtual ~CordzHandle ()
 
virtual ~CordzHandle ()
 

Detailed Description

Definition at line 47 of file abseil-cpp/absl/strings/internal/cordz_info.h.

Member Typedef Documentation

◆ MethodIdentifier [1/2]

◆ MethodIdentifier [2/2]

◆ SpinLock [1/2]

◆ SpinLock [2/2]

◆ SpinLockHolder [1/2]

◆ SpinLockHolder [2/2]

Constructor & Destructor Documentation

◆ CordzInfo() [1/6]

absl::cord_internal::CordzInfo::CordzInfo ( )
delete

◆ CordzInfo() [2/6]

absl::cord_internal::CordzInfo::CordzInfo ( const CordzInfo )
delete

◆ CordzInfo() [3/6]

absl::cord_internal::CordzInfo::CordzInfo ( CordRep rep,
const CordzInfo src,
MethodIdentifier  method 
)
explicitprivate

◆ ~CordzInfo() [1/2]

absl::cord_internal::CordzInfo::~CordzInfo ( )
overrideprivate

◆ CordzInfo() [4/6]

absl::cord_internal::CordzInfo::CordzInfo ( )
delete

◆ CordzInfo() [5/6]

absl::cord_internal::CordzInfo::CordzInfo ( const CordzInfo )
delete

◆ CordzInfo() [6/6]

absl::cord_internal::CordzInfo::CordzInfo ( CordRep rep,
const CordzInfo src,
MethodIdentifier  method 
)
explicitprivate

◆ ~CordzInfo() [2/2]

absl::cord_internal::CordzInfo::~CordzInfo ( )
overrideprivate

Member Function Documentation

◆ ABSL_GUARDED_BY() [1/2]

CordRep* rep_ absl::cord_internal::CordzInfo::ABSL_GUARDED_BY ( mutex_  )
private

◆ ABSL_GUARDED_BY() [2/2]

CordRep* rep_ absl::cord_internal::CordzInfo::ABSL_GUARDED_BY ( mutex_  )
private

◆ AssertHeld() [1/2]

void absl::cord_internal::CordzInfo::AssertHeld ( )

◆ AssertHeld() [2/2]

void absl::cord_internal::CordzInfo::AssertHeld ( )
inline

◆ FillParentStack() [1/2]

static int absl::cord_internal::CordzInfo::FillParentStack ( const CordzInfo src,
void **  stack 
)
staticprivate

◆ FillParentStack() [2/2]

int absl::cord_internal::CordzInfo::FillParentStack ( const CordzInfo src,
void **  stack 
)
staticprivate

◆ GetCordRepForTesting() [1/2]

CordRep* absl::cord_internal::CordzInfo::GetCordRepForTesting ( ) const
inline

◆ GetCordRepForTesting() [2/2]

CordRep* absl::cord_internal::CordzInfo::GetCordRepForTesting ( ) const
inline

◆ GetCordzStatistics() [1/2]

CordzStatistics absl::cord_internal::CordzInfo::GetCordzStatistics ( ) const

◆ GetCordzStatistics() [2/2]

CordzStatistics absl::cord_internal::CordzInfo::GetCordzStatistics ( ) const

◆ GetParentMethod() [1/2]

static MethodIdentifier absl::cord_internal::CordzInfo::GetParentMethod ( const CordzInfo src)
staticprivate

◆ GetParentMethod() [2/2]

CordzInfo::MethodIdentifier absl::cord_internal::CordzInfo::GetParentMethod ( const CordzInfo src)
staticprivate

◆ GetParentStack() [1/2]

absl::Span<void* const> absl::cord_internal::CordzInfo::GetParentStack ( ) const

◆ GetParentStack() [2/2]

absl::Span< void *const > absl::cord_internal::CordzInfo::GetParentStack ( ) const

◆ GetStack() [1/2]

absl::Span<void* const> absl::cord_internal::CordzInfo::GetStack ( ) const

◆ GetStack() [2/2]

absl::Span< void *const > absl::cord_internal::CordzInfo::GetStack ( ) const

◆ Head() [1/2]

static CordzInfo* absl::cord_internal::CordzInfo::Head ( const CordzSnapshot snapshot)
static

◆ Head() [2/2]

CordzInfo * absl::cord_internal::CordzInfo::Head ( const CordzSnapshot snapshot)
static

◆ Lock() [1/2]

void absl::cord_internal::CordzInfo::Lock ( MethodIdentifier  method)

◆ Lock() [2/2]

void absl::cord_internal::CordzInfo::Lock ( MethodIdentifier  method)

◆ MaybeTrackCord() [1/4]

static void absl::cord_internal::CordzInfo::MaybeTrackCord ( InlineData cord,
const InlineData src,
MethodIdentifier  method 
)
static

◆ MaybeTrackCord() [2/4]

ABSL_ATTRIBUTE_ALWAYS_INLINE void absl::cord_internal::CordzInfo::MaybeTrackCord ( InlineData cord,
const InlineData src,
MethodIdentifier  method 
)
inlinestatic

◆ MaybeTrackCord() [3/4]

static void absl::cord_internal::CordzInfo::MaybeTrackCord ( InlineData cord,
MethodIdentifier  method 
)
static

◆ MaybeTrackCord() [4/4]

ABSL_ATTRIBUTE_ALWAYS_INLINE void absl::cord_internal::CordzInfo::MaybeTrackCord ( InlineData cord,
MethodIdentifier  method 
)
inlinestatic

◆ MaybeTrackCordImpl()

void absl::cord_internal::CordzInfo::MaybeTrackCordImpl ( InlineData cord,
const InlineData src,
MethodIdentifier  method 
)
staticprivate

◆ MaybeUntrackCord() [1/2]

static void absl::cord_internal::CordzInfo::MaybeUntrackCord ( CordzInfo info)
static

◆ MaybeUntrackCord() [2/2]

ABSL_ATTRIBUTE_ALWAYS_INLINE void absl::cord_internal::CordzInfo::MaybeUntrackCord ( CordzInfo info)
inlinestatic

◆ Next() [1/2]

CordzInfo* absl::cord_internal::CordzInfo::Next ( const CordzSnapshot snapshot) const

◆ Next() [2/2]

CordzInfo * absl::cord_internal::CordzInfo::Next ( const CordzSnapshot snapshot) const

◆ ODRCheck() [1/2]

void absl::cord_internal::CordzInfo::ODRCheck ( ) const
inlineprivate

◆ ODRCheck() [2/2]

void absl::cord_internal::CordzInfo::ODRCheck ( ) const
inlineprivate

◆ operator=() [1/2]

CordzInfo& absl::cord_internal::CordzInfo::operator= ( const CordzInfo )
delete

◆ operator=() [2/2]

CordzInfo& absl::cord_internal::CordzInfo::operator= ( const CordzInfo )
delete

◆ RecordMetrics()

void absl::cord_internal::CordzInfo::RecordMetrics ( int64_t  size)
inline

◆ RefCordRep() [1/2]

CordRep* absl::cord_internal::CordzInfo::RefCordRep ( ) const

◆ RefCordRep() [2/2]

CordRep * absl::cord_internal::CordzInfo::RefCordRep ( ) const
inline

◆ SetCordRep() [1/2]

void absl::cord_internal::CordzInfo::SetCordRep ( CordRep rep)

◆ SetCordRep() [2/2]

void absl::cord_internal::CordzInfo::SetCordRep ( CordRep rep)
inline

◆ SetCordRepForTesting()

void absl::cord_internal::CordzInfo::SetCordRepForTesting ( CordRep rep)
inline

◆ Track() [1/2]

void absl::cord_internal::CordzInfo::Track ( )
private

◆ Track() [2/2]

void absl::cord_internal::CordzInfo::Track ( )
private

◆ TrackCord() [1/4]

static void absl::cord_internal::CordzInfo::TrackCord ( InlineData cord,
const InlineData src,
MethodIdentifier  method 
)
static

◆ TrackCord() [2/4]

void absl::cord_internal::CordzInfo::TrackCord ( InlineData cord,
const InlineData src,
MethodIdentifier  method 
)
static

◆ TrackCord() [3/4]

void absl::cord_internal::CordzInfo::TrackCord ( InlineData cord,
MethodIdentifier  method 
)
static

◆ TrackCord() [4/4]

static void absl::cord_internal::CordzInfo::TrackCord ( InlineData cord,
MethodIdentifier  method 
)
static

◆ Unlock() [1/2]

void absl::cord_internal::CordzInfo::Unlock ( )

◆ Unlock() [2/2]

void absl::cord_internal::CordzInfo::Unlock ( )

◆ UnsafeSetCordRep() [1/2]

void absl::cord_internal::CordzInfo::UnsafeSetCordRep ( CordRep rep)
private

◆ UnsafeSetCordRep() [2/2]

void absl::cord_internal::CordzInfo::UnsafeSetCordRep ( CordRep rep)
inlineprivate

◆ Untrack() [1/2]

void absl::cord_internal::CordzInfo::Untrack ( )

◆ Untrack() [2/2]

void absl::cord_internal::CordzInfo::Untrack ( )

Member Data Documentation

◆ ci_next_

std::atomic< CordzInfo * > absl::cord_internal::CordzInfo::ci_next_ {nullptr}
private

◆ ci_prev_

std::atomic< CordzInfo * > absl::cord_internal::CordzInfo::ci_prev_ {nullptr}
private

◆ create_time_

const absl::Time absl::cord_internal::CordzInfo::create_time_
private

◆ global_list_

static ABSL_CONST_INIT List absl::cord_internal::CordzInfo::global_list_ {absl::kConstInit}
staticprivate

◆ kMaxStackDepth

static constexpr int absl::cord_internal::CordzInfo::kMaxStackDepth = 64
staticconstexprprivate

◆ list_

List *const absl::cord_internal::CordzInfo::list_ = &global_list_
private

◆ method_

const MethodIdentifier absl::cord_internal::CordzInfo::method_
private

◆ mutex_

absl::Mutex absl::cord_internal::CordzInfo::mutex_
mutableprivate

◆ parent_method_

const MethodIdentifier absl::cord_internal::CordzInfo::parent_method_
private

◆ parent_stack_

void * absl::cord_internal::CordzInfo::parent_stack_
private

◆ parent_stack_depth_

const int absl::cord_internal::CordzInfo::parent_stack_depth_
private

◆ size_

std::atomic<int64_t> absl::cord_internal::CordzInfo::size_ {0}
private

◆ stack_

void * absl::cord_internal::CordzInfo::stack_
private

◆ stack_depth_

const int absl::cord_internal::CordzInfo::stack_depth_
private

◆ update_tracker_

CordzUpdateTracker absl::cord_internal::CordzInfo::update_tracker_
private

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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:51