commonlib
risingdelay.h
Go to the documentation of this file.
1 
15 #include <cstdint>
16 #include <cstddef>
17 #include "threading.h"
18 
19 BEGIN_NAMESPACE_THREADING
20 
22 {
23 public:
29  RisingDelay(uint32_t minDelayMs = 200, uint32_t maxDelayMs = 10000, uint32_t delayStep = 100, size_t iteration = 0);
30 
36  uint32_t getDelay(std::size_t iteration);
37 
42  uint32_t getDelay();
43 
48  void wait(std::size_t iteration);
49 
53  void wait();
54 
59  void reset(std::size_t iteration = 0);
60 
61 private:
62  uint32_t minDelayMs;
63  uint32_t maxDelayMs;
64  uint32_t delayStep;
65 
66  size_t iter;
67 };
68 
69 END_NAMESPACE_THREADING
void wait()
Executes thread delay and increases iteration internally.
Definition: risingdelay.h:21
uint32_t getDelay()
Calculates delay and increases iteration internally.
RisingDelay(uint32_t minDelayMs=200, uint32_t maxDelayMs=10000, uint32_t delayStep=100, size_t iteration=0)
Creates rising delay instance.
void reset(std::size_t iteration=0)
Resets internal iterator.