On Wed, Dec 6, 2023 at 9:20 AM Richard Hodges via Boost-users <boost-users@lists.boost.org> wrote:
Anyway... you could create a `boost::asio::experimental::basic_channel` using the signature `(void)` and then `co_await` the channel to suspend the coroutine. Later when you want to wake it up, send a message to the channel from elsewhere. You will need to be thoughtful about the order of how things are destroyed if you want to tear down the socket (or corresponding I/O object). More here:

https://www.boost.org/doc/libs/1_83_0/doc/html/boost_asio/reference/experimental__basic_channel.html


This is actually Chris' recommended solution. It's so new I forgot about it. :)

Ahh it's still experimental in 1.83.0. I'd rather avoid experimental things for now. I look forward to it coming out of experimental.

--
Keith Bennett