| 143 | |
| 144 | template <typename CompletionToken> |
| 145 | auto post_loop(boost::asio::io_context& ctx, CompletionToken&& token) |
| 146 | { |
| 147 | return boost::asio::async_initiate<CompletionToken, void(int)>( |
| 148 | boost::asio::co_composed( |
| 149 | [](auto state, boost::asio::io_context& ctx) -> void |
| 150 | { |
| 151 | int i = 0; |
| 152 | for (; i < 100; ++i) |
| 153 | co_await boost::asio::post(ctx, boost::asio::deferred); |
| 154 | co_yield state.complete(i); |
| 155 | }, ctx), token, std::ref(ctx)); |
| 156 | } |
| 157 | |
| 158 | void test_post_loop() |
| 159 | { |