Am Mo., 29. Nov. 2021 um 16:56 Uhr schrieb Vinnie Falco via Boost < boost@lists.boost.org>:
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).
I'm confused by the request for a standalone version. The spawned fibers must be scheduled for execution. boost.fiber does this without the need of boost.asio. boost.spawn itself relies on boost::asio's io_context (demultiplexer, event scheduler) and the async result/handler framework.
Have you considered just rolling this into Boost.Context?
Yes, I had a commit that has been reverted because of dependency cycles between the boost libs.
That library is sort of not particularly useful on its own.
boost.context must be considered as a foundation library for other high-level constructs (like boost.coroutine2 or boost.fiber).
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.
I think this is a misunderstanding of what boost.spawn is intended...