| 518 | {} |
| 519 | |
| 520 | void operator()() && |
| 521 | { |
| 522 | if (i_ == 10000) |
| 523 | { |
| 524 | a_g_.reset(); |
| 525 | b_g_.reset(); |
| 526 | std::invoke(std::move(h_)); |
| 527 | return; |
| 528 | } |
| 529 | auto const ex = [&]() noexcept |
| 530 | { |
| 531 | if (i_ % 2) |
| 532 | { |
| 533 | return a_.get_executor(); |
| 534 | } |
| 535 | return b_.get_executor(); |
| 536 | }(); |
| 537 | ++i_; |
| 538 | asio_impl::post(ex, std::move(*this)); |
| 539 | } |
| 540 | |
| 541 | asio_impl::io_context& a_; |
| 542 | asio_impl::executor_work_guard<asio_impl::io_context::executor_type> a_g_; |
nothing calls this directly
no test coverage detected