uint64_t m_callback_sequence
std::chrono::time_point< std::chrono::steady_clock, std::chrono::nanoseconds > TimePoint
std::priority_queue< CallbackEntry > m_callbacks
std::optional< TimePoint > GetNextWakeupTime()
std::function< void(MainLoopBase &)> Callback
std::mutex m_callback_mutex
virtual bool Interrupt()=0
Interrupt the loop that is currently waiting for events.
bool AddCallback(const Callback &callback, std::chrono::nanoseconds delay)