62 void await_suspend(
std::coroutine_handle<> handle);
68 Core::NetworkMessage await_resume();
77 void deliver(const Core::NetworkMessage& message);
83 void try_resume(const
void*)
override { }
88 [[nodiscard]]
bool filter_matches(
const void*)
const override {
return true; }
97 std::atomic<NetworkAwaiter*> m_next {
nullptr };
Abstract base for all event-driven awaiters.
NetworkAwaiter(const NetworkAwaiter &)=delete
Vruta::NetworkSource & m_source
bool filter_matches(const void *) const override
NetworkAwaiter has no filter semantics.
Core::NetworkMessage m_result
NetworkAwaiter & operator=(const NetworkAwaiter &)=delete
NetworkAwaiter(NetworkAwaiter &&) noexcept=default
NetworkAwaiter(Vruta::NetworkSource &source)
Awaiter for suspending a coroutine until a network message arrives.
Awaitable broadcast message stream for a network endpoint.
A received datagram or framed message with sender metadata.