Results 125 comments of Lewis Baker

There are already a notion of a scheduler in this library (see the `Scheduler` and `TimedScheduler` concepts and the `io_service` and `static_thread_pool` implementations), I can see a need for something...

@neo5167 How are you going with the changes? Any questions I can help you with?

The first step is the cakefile work required to get a build of clang (or clang-cl) building and linking correctly. From memory, I was running into problems trying to use...

@Uran198 Thanks for the update. I've cherry-picked the typo fix into master. I'll think more about the `process_events_until_complete()` implementation. I suspect it's not possible to wake up a particular thread...

I've pushed the beginnings of some socket support for Windows to the 'sockets' branch. See https://github.com/lewissbaker/cppcoro/commit/ddb9486e014a6b3d16c6c0cb9a380c0896acfff1 Still needs: - sendto/recvfrom - scatter-recv/gather-send - socket option settings - timeouts, nagle, etc...

Note that until we have access to the `coroutine_handle await_suspend(coroutine_handle h)` overload that guarantees tail-recursive resumption of another coroutine after suspending the current coroutine, the recursive invocation of nested coroutines...

We won't be able to implement this for `lazy_task` yet, however, since the current coroutines TS disallows mixing `return_void()` and `return_value()` in the same `promise_type`.

I've written up a draft paper that suggests relaxing the restrictions on `co_return` here: https://github.com/lewissbaker/papers/blob/master/isocpp/relax-coreturn-restrictions.md

There is not currently an equivalent for cppcoro tasks. Usually, when you want to set a result for a task you just `co_return theResult;` or `throw some_exception{};` from within the...

Thanks for the links @mediabuff. You may be right that it's needed in some cases for interacting with other APIs and event-based notification systems. But I do wonder whether some...