MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ await_suspend()

void MayaFlux::Kriya::NetworkAwaiter::await_suspend ( std::coroutine_handle<>  handle)

Suspend the coroutine and register with the source.

Parameters
handleType-erased coroutine handle

Definition at line 22 of file NetworkAwaiter.cpp.

23{
24 m_handle = handle;
25 m_is_suspended = true;
27
28 if (auto msg = m_source.pop_message()) {
30 m_result = std::move(*msg);
31 m_is_suspended = false;
32 m_handle.resume();
33 }
34}
Vruta::NetworkSource & m_source
void register_waiter(Kriya::NetworkAwaiter *awaiter)
void unregister_waiter(Kriya::NetworkAwaiter *awaiter)
std::optional< Core::NetworkMessage > pop_message()

References m_handle, m_is_suspended, m_result, m_source, MayaFlux::Vruta::NetworkSource::pop_message(), MayaFlux::Vruta::NetworkSource::register_waiter(), and MayaFlux::Vruta::NetworkSource::unregister_waiter().

+ Here is the call graph for this function: