diff options
Diffstat (limited to 'fnet/src/examples/timeout/timeout.cpp')
-rw-r--r-- | fnet/src/examples/timeout/timeout.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/fnet/src/examples/timeout/timeout.cpp b/fnet/src/examples/timeout/timeout.cpp index bba58faca55..1d6ecc11909 100644 --- a/fnet/src/examples/timeout/timeout.cpp +++ b/fnet/src/examples/timeout/timeout.cpp @@ -2,6 +2,7 @@ #include <vespa/fnet/fnet.h> #include <vespa/fastos/app.h> +#include <chrono> #include <vespa/log/log.h> LOG_SETUP("timeout"); @@ -42,8 +43,11 @@ public: int MyApp::Main() { - double ms; - FastOS_Time t; + using clock = std::chrono::steady_clock; + using ms_double = std::chrono::duration<double,std::milli>; + + ms_double ms; + clock::time_point t; FNET_PacketQueue queue; FastOS_ThreadPool pool(65000); FNET_Transport transport; @@ -57,28 +61,28 @@ MyApp::Main() FNET_Context context; fprintf(stderr, "scheduling timeout in 2 seconds...\n"); - t.SetNow(); + t = clock::now(); timeout.Schedule(2.0); // timeout in 2 seconds FastOS_Thread::Sleep(1000); timeout.Unschedule(); // cancel timeout - ms = t.MilliSecsToNow(); + ms = (clock::now() - t); if (queue.GetPacketCnt_NoLock() == 0) fprintf(stderr, "timeout canceled; no timeout packet delivered\n"); - fprintf(stderr, "time since timeout was scheduled: %f ms\n", ms); + fprintf(stderr, "time since timeout was scheduled: %f ms\n", ms.count()); fprintf(stderr, "scheduling timeout in 2 seconds...\n"); - t.SetNow(); + t = clock::now(); timeout.Schedule(2.0); // timeout in 2 seconds packet = queue.DequeuePacket(&context); // wait for timeout - ms = t.MilliSecsToNow(); + ms = (clock::now() - t); if (packet->IsTimeoutCMD()) fprintf(stderr, "got timeout packet\n"); - fprintf(stderr, "time since timeout was scheduled: %f ms\n", ms); + fprintf(stderr, "time since timeout was scheduled: %f ms\n", ms.count()); transport.ShutDown(true); pool.Close(); |