Skip to content

sisl/async: add cqe_awaitable coroutine adapter#320

Merged
szmyd merged 1 commit into
eBay:dev/v14.xfrom
szmyd:cqe_awaitable
May 14, 2026
Merged

sisl/async: add cqe_awaitable coroutine adapter#320
szmyd merged 1 commit into
eBay:dev/v14.xfrom
szmyd:cqe_awaitable

Conversation

@szmyd
Copy link
Copy Markdown
Collaborator

@szmyd szmyd commented May 14, 2026

Add sisl::async::cqe_awaitable, a C++20 coroutine awaitable that derives from cqe_state and wires _on_complete to resume a stored coroutine_handle<> when complete_cqe_state() fires. Consumers can now build co_await-based io_uring dispatch on sisl's generic callback bridge without duplicating the awaitable machinery.

Also add test_cqe_awaitable (4 tests) under the existing stdexec CMake guard. Tests use std::noop_coroutine() as the waiter stand-in to avoid coroutine frame lifetime interactions that affect some ASAN configurations.

Add sisl::async::cqe_awaitable, a C++20 coroutine awaitable that derives
from cqe_state and wires _on_complete to resume a stored coroutine_handle<>
when complete_cqe_state() fires. Consumers can now build co_await-based
io_uring dispatch on sisl's generic callback bridge without duplicating the
awaitable machinery.

Also add test_cqe_awaitable (4 tests) under the existing stdexec CMake guard.
Tests use std::noop_coroutine() as the waiter stand-in to avoid coroutine
frame lifetime interactions that affect some ASAN configurations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@szmyd szmyd merged commit 2487bdb into eBay:dev/v14.x May 14, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant