1#include <xrpl/beast/clock/basic_seconds_clock.h> 
    2#include <xrpl/beast/utility/instrumentation.h> 
   15class seconds_clock_thread
 
   26    ~seconds_clock_thread();
 
   27    seconds_clock_thread();
 
   39seconds_clock_thread::~seconds_clock_thread()
 
   43        "beast::seconds_clock_thread::~seconds_clock_thread : thread joinable");
 
   52seconds_clock_thread::seconds_clock_thread()
 
   53    : stop_{false}, tp_{Clock::now().time_since_epoch().
count()}
 
   55    thread_ = 
std::thread(&seconds_clock_thread::run, 
this);
 
   58seconds_clock_thread::Clock::time_point
 
   59seconds_clock_thread::now()
 
   61    return Clock::time_point{Clock::duration{tp_.load()}};
 
   65seconds_clock_thread::run()
 
   72        auto now = Clock::now();
 
   73        tp_ = now.time_since_epoch().count();
 
   74        auto const when = floor<seconds>(now) + 1s;
 
   75        if (cv_.
wait_until(lock, when, [
this] { return stop_; }))
 
   82basic_seconds_clock::time_point
 
   83basic_seconds_clock::now()
 
   85    static seconds_clock_thread clk;
 
 
std::chrono::steady_clock Clock
 
int run(int argc, char **argv)