ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
atomic_t Struct Reference

Atomic value wrapper for integral/boolean types. More...

#include <include/ascii-chat/atomic.h>

Public Member Functions

 _Atomic (uint64_t) impl
 Underlying C11 atomic value.
 

Data Fields

uint64_t last_store_time_ns
 
uint64_t last_load_time_ns
 
uint64_t store_count
 
uint64_t load_count
 
uint64_t cas_count
 
uint64_t cas_success_count
 
uint64_t fetch_count
 

Detailed Description

Atomic value wrapper for integral/boolean types.

Wraps C11 _Atomic(uint64_t) with debug tracking fields. All values (bool, int, uint64_t, size_t) fit in uint64_t on 64-bit platforms.

The name is registered separately via NAMED_REGISTER_ATOMIC macro, stored in named.c registry (not in this struct).

Usage:

// Global declaration
atomic_t g_counter = {0};
// Register name for debug tracking (in main()):
NAMED_REGISTER_ATOMIC(&g_counter, "g_counter");
// Use:
atomic_store_u64(&g_counter, 0);
uint64_t val = atomic_load_u64(&g_counter);
void atomic_store_u64(atomic_t *a, uint64_t value)
Atomically store a uint64_t value.
Definition atomic.c:241
uint64_t atomic_load_u64(atomic_t *a)
Atomically load a uint64_t value.
Definition atomic.c:233
unsigned long long uint64_t
Definition common.h:59
#define NAMED_REGISTER_ATOMIC(a, name, parent_ptr)
Register an atomic_t with automatic format specifier.
Atomic value wrapper for integral/boolean types.
Definition atomic.h:76

Definition at line 76 of file atomic.h.

Member Function Documentation

◆ _Atomic()

atomic_t::_Atomic ( uint64_t  )

Underlying C11 atomic value.

Field Documentation

◆ cas_count

uint64_t atomic_t::cas_count

Definition at line 83 of file atomic.h.

Referenced by atomic_on_cas(), and debug_atomic_format_timing().

◆ cas_success_count

uint64_t atomic_t::cas_success_count

Definition at line 84 of file atomic.h.

Referenced by atomic_on_cas(), and debug_atomic_format_timing().

◆ fetch_count

uint64_t atomic_t::fetch_count

Definition at line 85 of file atomic.h.

Referenced by atomic_on_fetch(), and debug_atomic_format_timing().

◆ last_load_time_ns

uint64_t atomic_t::last_load_time_ns

Definition at line 80 of file atomic.h.

Referenced by atomic_on_load(), and debug_atomic_format_timing().

◆ last_store_time_ns

uint64_t atomic_t::last_store_time_ns

◆ load_count

uint64_t atomic_t::load_count

Definition at line 82 of file atomic.h.

Referenced by atomic_on_load(), and debug_atomic_format_timing().

◆ store_count

uint64_t atomic_t::store_count

Definition at line 81 of file atomic.h.

Referenced by atomic_on_store(), and debug_atomic_format_timing().


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