xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
basics
UptimeClock.h
1
#pragma once
2
3
#include <
atomic
>
4
#include <
chrono
>
5
#include <
ratio
>
6
#include <
thread
>
7
8
namespace
xrpl
{
9
17
18
class
UptimeClock
19
{
20
public
:
21
using
rep
= int;
22
using
period
=
std::ratio<1>
;
23
using
duration
=
std::chrono::duration<rep, period>
;
24
using
time_point
=
std::chrono::time_point<UptimeClock>
;
25
static
constexpr
bool
is_steady
=
// NOLINT(readability-identifier-naming)
26
std::chrono::system_clock::is_steady;
27
28
explicit
UptimeClock
() =
default
;
29
30
static
time_point
31
now
();
// seconds since xrpld program start
32
33
private
:
34
static
std::atomic<rep>
kNow
;
35
static
std::atomic<bool>
kStop
;
36
37
struct
UpdateThread
:
private
std::thread
38
{
39
~UpdateThread
();
40
UpdateThread
(
UpdateThread
&&) =
default
;
41
42
using
std::thread::thread
;
43
};
44
45
static
UpdateThread
46
startClock
();
47
};
48
49
}
// namespace xrpl
atomic
chrono
xrpl::UptimeClock::time_point
std::chrono::time_point< UptimeClock > time_point
Definition
UptimeClock.h:24
xrpl::UptimeClock::is_steady
static constexpr bool is_steady
Definition
UptimeClock.h:25
xrpl::UptimeClock::rep
int rep
Definition
UptimeClock.h:21
xrpl::UptimeClock::kStop
static std::atomic< bool > kStop
Definition
UptimeClock.h:35
xrpl::UptimeClock::now
static time_point now()
Definition
UptimeClock.cpp:49
xrpl::UptimeClock::startClock
static UpdateThread startClock()
Definition
UptimeClock.cpp:27
xrpl::UptimeClock::period
std::ratio< 1 > period
Definition
UptimeClock.h:22
xrpl::UptimeClock::kNow
static std::atomic< rep > kNow
Definition
UptimeClock.h:34
xrpl::UptimeClock::duration
std::chrono::duration< rep, period > duration
Definition
UptimeClock.h:23
xrpl::UptimeClock::UptimeClock
UptimeClock()=default
std::chrono::duration
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
ratio
xrpl::UptimeClock::UpdateThread
Definition
UptimeClock.h:38
xrpl::UptimeClock::UpdateThread::~UpdateThread
~UpdateThread()
Definition
UptimeClock.cpp:14
xrpl::UptimeClock::UpdateThread::UpdateThread
UpdateThread(UpdateThread &&)=default
thread
std::chrono::time_point
Generated by
1.17.0