Results 73 issues of Lewis Baker

The current implementation of scheduler affinity for the coroutine `task` type relies on special behaviour of being able to identify when the coroutine awaits a sender returned by `schedule(some_scheduler)` so...

documentation

We currently have only two type-erasing wrapper types: * `any_unique` which always heap-allocates the wrapped object * `any_ref` which just holds a pointer/reference to a wrapped object and does not...

enhancement

The usage of this query quite often ends up needing to be negated which ends up with a double negative (not is stop never possible) instead of the positive form...

Implement a simple single-threaded event loop that uses Win32 IOCP to dispatch async I/O completion events so that we can build and run examples that do file I/O on the...

The paper [P2300R0](https://wg21.link/P2300R0) proposes having all CPOs used for senders be purely tag_invoke based and not dispatch to member functions. To be consistent with this, we should do a pass...

enhancement

Add support for tcp/ip sockets and udp/ip sockets using the io_uring_context event-loop.

The requirement for `set_value()` implementations was relaxed to allow them to throw exceptions. However, this now means we need to audit all call-sites to `unifex::set_value()` to ensure that we catch...

Add an implementation of an I/O scheduler that makes use of the Windows Thread Pool APIs to schedule work and handle I/O completion events. The current windows_thread_pool implementation supports scheduling...

We would ideally like to be able to define coroutine tasks that can pass through context from the caller to child coroutines to allow passing things like stop_token, current scheduler,...

Implement some of the low-latency ideas from llfio's experiments with sender/receiver that allow I/O operations to complete prior to the completion event being posted to the IOCP queue by polling...