NAME

Linux::Event::Backend - Backend contract for Linux::Event::Loop

DESCRIPTION

This module documents the minimal backend interface expected by Linux::Event::Loop. Backends are intentionally duck-typed.

The loop owns scheduling policy (clock/timer/scheduler). The backend owns the wait/dispatch mechanism (epoll now, io_uring later).

STATUS

EXPERIMENTAL / WORK IN PROGRESS

The API is not yet considered stable and may change without notice.

REQUIRED METHODS

new(%args)

Create the backend instance.

watch_fh($fh, $mask, $cb, %opt) -> $fd

Register a filehandle for readiness notifications.

Callback signature (standardized by this project):

$cb->($loop, $fh, $fd, $mask, $tag);

unwatch_fh($fh_or_fd) -> $bool

Remove a watcher.

run_once($loop, $timeout_s=undef) -> $n

Block until events occur (or timeout) and dispatch them.