13template <
typename Sched,
typename Alloc,
typename Fn>
14inline ex::task<bool, TaskEnv<Sched, Alloc>> retry(Fn fn,
size_t max_retry,
19 __kernel_timespec ts = {};
20 ts.tv_sec = sleep_ms / 1000;
21 ts.tv_nsec = (sleep_ms % 1000) * 1'000'000;
23 for (
size_t i = 0; i < max_retry; i++) {
24 co_await (condy::async_timeout(&ts, 0, 0) |
26 [](std::error_code ec)
noexcept {
return -ec.value(); }));
The std::execution backend namespace used by ublk-cpp.
The main namespace of the ublk-cpp library.