13 #include <QElapsedTimer> 16 #include "../threadsconfig.h" 23 QElapsedTimer LastInvocation_;
24 std::chrono::milliseconds Interval_;
26 QVector<std::coroutine_handle<>> Queue_;
28 int BackoffFactor_ = 0;
33 std::coroutine_handle<> Handle_ {};
44 bool await_ready ()
const;
45 void await_suspend (std::coroutine_handle<>);
49 explicit Throttle (std::chrono::milliseconds, Qt::TimerType = Qt::TimerType::CoarseTimer);
51 std::chrono::milliseconds GetInterval ()
const;
57 void StartTimer (std::chrono::milliseconds);
decltype(auto) Awaiter(T &&obj)
std::shared_ptr< Throttle > Throttle_ptr
auto Tup2 &&tup2 noexcept