|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
Lock-free single-waiter asynchronous event channel for C++20 coroutines. Enables event-driven coroutine resumption without blocking threads or allocating dynamic memory. More...
#include <AsyncEvent.hpp>
Collaboration diagram for corium::async::AsyncEvent< T >:Classes | |
| struct | Awaiter |
Public Types | |
| using | ValueType = T |
Public Member Functions | |
| constexpr | AsyncEvent ()=default |
| template<typename U > requires (std::is_convertible_v<U, T>) | |
| void | emit (U &&value) |
| Emit event value and resume waiting coroutine. | |
| bool | isReady () const noexcept |
| Check if event has been signaled. | |
| Awaiter | operator co_await () noexcept |
| Direct co_await support on AsyncEvent instance. | |
| void | reset () noexcept |
| Reset event to unsignaled state. | |
| Awaiter | wait () noexcept |
| Awaiter factory for co_await syntax. | |
Lock-free single-waiter asynchronous event channel for C++20 coroutines. Enables event-driven coroutine resumption without blocking threads or allocating dynamic memory.
| T | Payload type transferred when event is signaled (defaults to void). |
| using corium::async::AsyncEvent< T >::ValueType = T |
|
constexprdefault |
|
inline |
Emit event value and resume waiting coroutine.
|
inlinenoexcept |
Check if event has been signaled.
Here is the caller graph for this function:
|
inlinenoexcept |
Direct co_await support on AsyncEvent instance.
|
inlinenoexcept |
Reset event to unsignaled state.
|
inlinenoexcept |
Awaiter factory for co_await syntax.