17 template <
typename... Args>
18 BeforeIO(Args&&... args) : behaviour(std::forward<Args>(args)...)
22 if ((rc = uv_prepare_init(uv_default_loop(), &
uv_handle)) < 0)
24 LOG_FAIL_FMT(
"uv_prepare_init failed: {}", uv_strerror(rc));
25 throw std::logic_error(
"uv_prepare_init failed");
30 if ((rc = uv_prepare_start(&
uv_handle, on_prepare)) < 0)
32 LOG_FAIL_FMT(
"uv_prepare_start failed: {}", uv_strerror(rc));
33 throw std::logic_error(
"uv_prepare_start failed");
37 static void on_prepare(uv_prepare_t* handle)
39 static_cast<BeforeIO*
>(handle->data)->on_prepare();
44 behaviour.before_io();