18 template <
typename... Args>
19 EveryIO(Args&&... args) : behaviour(std::forward<Args>(args)...)
23 if ((rc = uv_idle_init(uv_default_loop(), &
uv_handle)) < 0)
25 LOG_FAIL_FMT(
"uv_idle_init failed: {}", uv_strerror(rc));
26 throw std::logic_error(
"uv_idle_init failed");
31 if ((rc = uv_idle_start(&
uv_handle, on_every)) < 0)
33 LOG_FAIL_FMT(
"uv_idle_start failed: {}", uv_strerror(rc));
34 throw std::logic_error(
"uv_idle_start failed");
38 static void on_every(uv_idle_t* handle)
40 static_cast<EveryIO*
>(handle->data)->on_every();