xrpld
Loading...
Searching...
No Matches
xrpl::UptimeClock Class Reference

Tracks program uptime to seconds precision. More...

#include <UptimeClock.h>

Collaboration diagram for xrpl::UptimeClock:

Classes

struct  UpdateThread

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

Static Private Member Functions

static UpdateThread startClock ()

Static Private Attributes

static std::atomic< repkNow {0}
static std::atomic< bool > kStop {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 17 of file UptimeClock.h.

Member Typedef Documentation

◆ rep

Definition at line 20 of file UptimeClock.h.

◆ period

Definition at line 21 of file UptimeClock.h.

◆ duration

◆ time_point

Constructor & Destructor Documentation

◆ UptimeClock()

xrpl::UptimeClock::UptimeClock ( )
explicitdefault

Member Function Documentation

◆ now()

UptimeClock::time_point xrpl::UptimeClock::now ( )
static

Definition at line 49 of file UptimeClock.cpp.

◆ startClock()

UptimeClock::UpdateThread xrpl::UptimeClock::startClock ( )
staticprivate

Definition at line 27 of file UptimeClock.cpp.

Member Data Documentation

◆ is_steady

bool xrpl::UptimeClock::is_steady
staticconstexpr
Initial value:
=
std::chrono::system_clock::is_steady

Definition at line 24 of file UptimeClock.h.

◆ kNow

std::atomic< UptimeClock::rep > xrpl::UptimeClock::kNow {0}
staticprivate

Definition at line 33 of file UptimeClock.h.

◆ kStop

std::atomic< bool > xrpl::UptimeClock::kStop {false}
staticprivate

Definition at line 34 of file UptimeClock.h.