| 22 | } |
| 23 | |
| 24 | void timer_state_base::fire() { |
| 25 | const auto frequency = m_frequency.load(std::memory_order_relaxed); |
| 26 | m_deadline = make_deadline(milliseconds(frequency)); |
| 27 | |
| 28 | assert(static_cast<bool>(m_executor)); |
| 29 | |
| 30 | m_executor->post([self = shared_from_this()]() mutable { |
| 31 | self->execute(); |
| 32 | }); |
| 33 | } |
| 34 | |
| 35 | timer::timer(std::shared_ptr<timer_state_base> timer_impl) noexcept : m_state(std::move(timer_impl)) {} |
| 36 |
no test coverage detected