rippled
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Private Member Functions | Static Private Attributes | List of all members
ripple::UptimeClock Class Reference

Tracks program uptime to seconds precision. More...

Collaboration diagram for ripple::UptimeClock:
Collaboration graph
[legend]

Classes

struct  update_thread
 

Public Types

using rep = int
 
using period = std::ratio< 1 >
 
using duration = std::chrono::duration< rep, period >
 
using time_point = std::chrono::time_point< UptimeClock >
 

Public Member Functions

 UptimeClock ()=default
 

Static Public Member Functions

static time_point now ()
 

Static Public Attributes

static constexpr bool is_steady = std::chrono::system_clock::is_steady
 

Static Private Member Functions

static update_thread start_clock ()
 

Static Private Attributes

static std::atomic< repnow_ {0}
 
static std::atomic< bool > stop_ {false}
 

Detailed Description

Tracks program uptime to seconds precision.

The timer caches the current time as a performance optimization. This allows clients to query the current time thousands of times per second.

Definition at line 37 of file UptimeClock.h.

Member Typedef Documentation

◆ rep

Definition at line 40 of file UptimeClock.h.

◆ period

Definition at line 41 of file UptimeClock.h.

◆ duration

Definition at line 42 of file UptimeClock.h.

◆ time_point

Definition at line 43 of file UptimeClock.h.

Constructor & Destructor Documentation

◆ UptimeClock()

ripple::UptimeClock::UptimeClock ( )
explicitdefault

Member Function Documentation

◆ now()

UptimeClock::time_point ripple::UptimeClock::now ( )
static

Definition at line 63 of file UptimeClock.cpp.

◆ start_clock()

UptimeClock::update_thread ripple::UptimeClock::start_clock ( )
staticprivate

Definition at line 41 of file UptimeClock.cpp.

Member Data Documentation

◆ is_steady

constexpr bool ripple::UptimeClock::is_steady = std::chrono::system_clock::is_steady
staticconstexpr

Definition at line 44 of file UptimeClock.h.

◆ now_

std::atomic< UptimeClock::rep > ripple::UptimeClock::now_ {0}
staticprivate

Definition at line 52 of file UptimeClock.h.

◆ stop_

std::atomic< bool > ripple::UptimeClock::stop_ {false}
staticprivate

Definition at line 53 of file UptimeClock.h.