eve.core.linux.dispatch

Event dispatch functions for the Linux event loop.

This module contains the per-event-type dispatch logic that executes watcher callbacks in response to OS events, timer expirations, and phase watcher triggers. Each function receives the host EventLoop by reference so it can access slots, the timer wheel, and DNS state.

The functions are package-visible to the eve.core.linux package only.

Functions 11

fnint computePollTimeout(ref const EventLoop loop, int timeoutMs) pure @safe nothrow @nogcCompute the effective poll timeout, clamped by the next timer deadline.
fnbool hasPhaseOnlyWatchers(ref const EventLoop loop) @safe nothrow @nogcCheck whether only phase watchers remain active.
fnptrdiff_t dispatchPhase(ref EventLoop loop, WatcherKind kind) @trusted nothrowDispatch all enabled watchers of the given phase kind.
fnptrdiff_t countPhaseWatchers(ref const EventLoop loop, WatcherKind kind) pure @safe nothrow @nogcCount enabled phase watchers of the given kind.
fnbool dispatchWatcher(ref EventLoop loop, Token token) @trusted nothrowDispatch a generic (phase) watcher callback.
fnbool dispatchIo(ref EventLoop loop, Token token, IoReady ready) @trusted nothrowDispatch an I/O readiness event.
fnbool dispatchSignal(ref EventLoop loop, Token token) @trusted nothrowDispatch a signal delivery event.
fnbool dispatchTimer(ref EventLoop loop, Token token) @trusted nothrowDispatch an expired timer.
fnbool dispatchWakeup(ref EventLoop loop, Token token) @trusted nothrowDispatch an async wakeup event.
fnbool dispatchOsEvent(ref EventLoop loop, OsEvent osEvent) @trusted nothrowRoute an OS event to the appropriate per-type dispatcher.
fnbool dispatchDns(ref EventLoop loop, Token token) @trusted nothrowDispatch a DNS resolution completion event.