8 namespace vms_server_plugins {
16 const std::chrono::milliseconds& pauseDuration = std::chrono::seconds(1),
17 int maxNumberOfPauses = 3,
20 m_duration(pauseDuration),
21 m_maxNumberOfPauses(maxNumberOfPauses),
22 m_randModulus(randModulus)
28 if (m_paused && std::chrono::high_resolution_clock::now() - m_pauseStartTime < m_duration)
33 --m_maxNumberOfPauses;
34 m_pauseStartTime = std::chrono::high_resolution_clock::time_point();
42 m_paused = m_maxNumberOfPauses > 0 && rand() % m_randModulus == 0;
45 m_pauseStartTime = std::chrono::high_resolution_clock::now();
59 const std::chrono::milliseconds m_duration;
60 int m_maxNumberOfPauses;
61 const int m_randModulus;
62 bool m_paused =
false;
63 std::chrono::high_resolution_clock::time_point m_pauseStartTime;
64 bool m_resuming =
false;
Definition: apple_utils.h:6
Definition: random_pauser.h:12