17template <
typename PromiseType>
39 promise_ptr = &
h.promise();
40 h.promise().active_delay_context = Vruta::DelayContext::AWAIT;
113 : m_source(
std::move(source))
120 promise_ptr->
own(m_source);
Vruta::event_promise & await_resume() const noexcept
std::shared_ptr< Vruta::NetworkSource > m_source
GetEventPromise(std::shared_ptr< Vruta::NetworkSource > source=nullptr)
Event-domain promise accessor with optional NetworkSource ownership transfer.
promise_handle & await_resume() const noexcept
bool await_ready() const noexcept
void await_suspend(std::coroutine_handle< promise_handle > h) noexcept
PromiseType promise_handle
Templated awaitable for accessing a coroutine's promise object.
void own(std::shared_ptr< Vruta::NetworkSource > source)
Transfer ownership of a NetworkSource to this coroutine frame.