20#include <xrpl/beast/clock/basic_seconds_clock.h>
21#include <xrpl/beast/utility/instrumentation.h>
34class seconds_clock_thread
45 ~seconds_clock_thread();
46 seconds_clock_thread();
58seconds_clock_thread::~seconds_clock_thread()
62 "beast::seconds_clock_thread::~seconds_clock_thread : thread joinable");
71seconds_clock_thread::seconds_clock_thread()
72 : stop_{false}, tp_{Clock::now().time_since_epoch().
count()}
74 thread_ =
std::thread(&seconds_clock_thread::run,
this);
77seconds_clock_thread::Clock::time_point
78seconds_clock_thread::now()
80 return Clock::time_point{Clock::duration{tp_.load()}};
84seconds_clock_thread::run()
91 auto now = Clock::now();
92 tp_ = now.time_since_epoch().count();
93 auto const when = floor<seconds>(now) + 1s;
94 if (cv_.
wait_until(lock, when, [
this] { return stop_; }))
101basic_seconds_clock::time_point
102basic_seconds_clock::now()
104 static seconds_clock_thread clk;
std::chrono::steady_clock Clock
int run(int argc, char **argv)