From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

#pragma once
#include "HandleImpl.h"
namespace panda { namespace unievent { namespace backend {
struct IAsyncImplListener {
virtual void handle_async () = 0;
};
struct AsyncImpl : HandleImpl {
IAsyncImplListener* listener;
AsyncImpl (LoopImpl* loop, IAsyncImplListener* lst) : HandleImpl(loop), listener(lst) {}
virtual void send () = 0;
void handle_async () noexcept {
ltry([&]{ listener->handle_async(); });
}
};
}}}