eve.backend.linux.uring
Linux runtime-selected Layer 0 backend.
On kernels that allow io_uring, this module exposes a real io_uring-backed readiness poller. When setup is rejected or unavailable it falls back to the reliable epoll backend so higher layers still have a usable Linux path.
enum OperationKind
struct OsPoller
Types 2
POLL = 1
REMOVE = 2
structOsPoller
Linux Layer 0 poller that prefers io_uring and falls back to epoll when the runtime rejects io_uring setup.
Fields
eve.backend.linux.epoll.OsPoller _fallbackbool _usingFallbackbool _ioUringAvailableint _probeErrorint _fdvoid * _sqRingvoid * _cqRingvoid * _sqesRegionsize_t _sqRingLengthsize_t _cqRingLengthsize_t _sqesLengthbool _singleMmapshared(uint) * _sqHeadshared(uint) * _sqTailshared(uint) * _sqRingMaskshared(uint) * _sqRingEntriesshared(uint) * _sqArrayio_uring_sqe * _sqesshared(uint) * _cqHeadshared(uint) * _cqTailshared(uint) * _cqRingMaskshared(uint) * _cqRingEntriesio_uring_cqe * _cqesRegistration * _registrationssize_t _registrationCapacityNativeEvent * _pendingEventssize_t _pendingHeadsize_t _pendingCountulong _submitSequenceMethods
bool processCompletion(ref const(io_uring_cqe) cqe, scope NativeEvent[] output, ref int written, ulong awaitedUserData, ref int awaitedResult) @trusted nothrow @nogcbool drainCompletions(scope NativeEvent[] output, ref int written, ulong awaitedUserData, ref int awaitedResult) @trusted nothrow @nogcbool isValid() @property const pure @safe nothrow @nogcCheck whether the active backend was created successfully.bool ioUringAvailable() @property const pure @safe nothrow @nogcReport whether `io_uring` is active for this poller instance.bool usingFallback() @property const pure @safe nothrow @nogcReport whether this poller instance is using the `epoll` fallback path.Handle handle() @property const pure @safe nothrow @nogcReturn the native handle wrapper for the active backend.int registerHandle(Handle handle, IoInterest interest, ulong userData) @trusted nothrow @nogcRegister a handle with the active backend.int modifyHandle(Handle handle, IoInterest interest, ulong userData) @trusted nothrow @nogcModify the interest mask and user data for a registered handle.int wait(scope NativeEvent[] nativeEvents, int timeoutMs) @trusted nothrow @nogcWait for native events from the active backend.OsEvent translate(ref const(NativeEvent) nativeEvent) pure @safe nothrow @nogcTranslate a native backend event into the shared Layer 0 event shape.IoReady translateReady(uint nativeMask) pure @safe nothrow @nogcTranslate a native readiness mask into shared readiness flags.Nested Templates
RegistrationFunctions 3
Variables 1
private enumvar
requestedRingEntries = 1024u