RTC Toolkit 5.0.0
Loading...
Searching...
No Matches
fakeClock.hpp
Go to the documentation of this file.
1
13#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_FAKECLOCK_HPP
14#define RTCTK_COMPONENTFRAMEWORK_TEST_FAKECLOCK_HPP
15
16#include <chrono>
17
19
20class FakeClock {
21public:
22 using duration = std::chrono::microseconds;
23 using rep = duration::rep;
24 using period = duration::period;
25 using time_point = std::chrono::time_point<FakeClock, duration>;
26
27 // Implementing interface from std::chrono which uses a different coding convention.
28 // NOLINTNEXTLINE(readability-identifier-naming)
30 return m_now_us;
31 }
32
33 static void Advance(duration d) noexcept {
34 m_now_us += d;
35 }
36
37 static void Reset() noexcept {
38 m_now_us -= (m_now_us - time_point());
39 }
40
41private:
42 static time_point m_now_us;
43 FakeClock() = delete;
44 ~FakeClock() = delete;
45 FakeClock(const FakeClock&) = delete;
46};
47
48} // namespace rtctk::componentFramework::test
49
50#endif // RTCTK_COMPONENTFRAMEWORK_TEST_FAKECLOCK_HPP
duration::rep rep
Definition fakeClock.hpp:23
std::chrono::microseconds duration
Definition fakeClock.hpp:22
static void Reset() noexcept
Definition fakeClock.hpp:37
std::chrono::time_point< FakeClock, duration > time_point
Definition fakeClock.hpp:25
static time_point now() noexcept
Definition fakeClock.hpp:29
duration::period period
Definition fakeClock.hpp:24
static void Advance(duration d) noexcept
Definition fakeClock.hpp:33
Definition fakeClock.cpp:15
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23