On Sat, Nov 27, 2021 at 10:50 PM Oliver Kowalke via Boost
I'd like to propose the new library boost.spawn (https://olk.github.io/) for review. boost.asio's boost::asio::spawn() uses the deprecated and inefficient boost.coroutine library. boost.spawn provides the same functionality while using boost.context's fiber directly.
I like the direction this library takes, and I have a use for something like this myself in Boost.JSON. Specifically, to implement a generator which does pull parsing of JSON. This will make the implementation of parsing directly into structs more simple and robust. I also like the simplification over push/pull, which never really made sense to me. However, this library should not depend on Asio. The fiber functionality provided by boost.spawn is useful enough that people will want to use it in more situations than just Asio. What will standalone Asio use? It is worth considering a standalone version of this library (or perhaps just not depend on any other Boost libraries). Have you considered just rolling this into Boost.Context? That library is sort of not particularly useful on its own. I would like to see an example of a generator using boost.spawn. A simple fibonacci producer would suffice. This library also needs more examples that don't require Asio. Thanks