eve.backend.windows.wpoll
Windows Layer 0 fallback backend built on WSAPoll.
This backend provides a simpler alternative to the IOCP backend for environments where WSAPoll is preferred or when IOCP is unavailable. It maintains a fixed-capacity registration table and translates poll events into the shared OsEvent shape consumed by Layer 1.
WSAPoll is limited to socket handles and cannot monitor arbitrary Windows handles such as files or pipes. For general-purpose handle monitoring, the IOCP backend should be used instead.
Types 3
Native event type returned by the wpoll backend.
Unlike epoll, WSAPoll does not produce a kernel-owned event payload, so the backend materializes a small translated record directly.
WSAPoll-backed poller state for Windows.
This backend maintains a registration table and uses WSAPoll for socket readiness detection. It provides simpler semantics than IOCP at the cost of being limited to socket handles.
private Registration[maxRegistrations] _registrationsprivate WSAPOLLFD[maxRegistrations] _pollFdsprivate size_t[maxRegistrations] _pollToRegprivate size_t _registrationCountprivate bool _validprivate bool _winsockInitializedbool isValid() @property const pure @safe nothrow @nogcCheck whether the poller instance is still usable.Handle handle() @property const pure @safe nothrow @nogcReturn the native handle wrapper for this poller.int registerHandle(Handle handle, IoInterest interest, ulong userData) @trusted nothrow @nogcRegister a handle with the given interests and opaque user data.int modifyHandle(Handle handle, IoInterest interest, ulong userData) @trusted nothrow @nogcModify the interest mask and user data for an already-registered handle.int unregisterHandle(Handle handle) @trusted nothrow @nogcRemove a handle from the registration table.int wait(scope NativeEvent[] nativeEvents, int timeoutMs) @trusted nothrow @nogcWait for native events.OsEvent translate(ref const(NativeEvent) nativeEvent) pure @safe nothrow @nogcTranslate a native wpoll event into the shared Layer 0 event shape.IoReady translateReady(IoReady nativeReady) pure @safe nothrow @nogcTranslate native readiness into shared readiness flags.Functions 2
Variables 1
maxRegistrations = 1024