NAME
Linux::Event - Front door for the Linux::Event ecosystem
SYNOPSIS
use v5.36;
use Linux::Event;
my $loop = Linux::Event->new( backend => 'epoll' );
# Timers use seconds (float allowed)
$loop->after(0.100, sub ($loop) {
say "tick";
$loop->stop;
});
$loop->run;
DESCRIPTION
Linux::Event is a Linux-focused event loop ecosystem. This distribution currently provides:
Linux::Event::Loop - main event loop (epoll + timerfd + signalfd + eventfd + pidfd)
Linux::Event::Watcher - mutable watcher handles returned by the loop
Linux::Event::Signal - signalfd adaptor (signal subscriptions)
Linux::Event::Wakeup - eventfd-backed wakeups (loop waker)
Linux::Event::Pid - pidfd-backed process exit notifications
Linux::Event::Scheduler - internal deadline scheduler (nanoseconds)
Linux::Event::Backend - backend contract boundary
Linux::Event::Backend::Epoll - epoll backend implementation
STATUS
As of version 0.006, the public API of this distribution is considered stable.
Linux::Event intentionally exposes Linux primitives with explicit semantics and minimal policy:
* epoll for I/O readiness
* timerfd for timers
* signalfd for signals
* eventfd for explicit wakeups
* pidfd (via L<Linux::FD::Pid>) for process exit notifications
Future releases will be additive and will not change existing callback ABIs or dispatch order.
REPOSITORY
The project repository is hosted on GitHub:
https://github.com/haxmeister/perl-linux-event
SEE ALSO
Linux::Event::Loop, Linux::Event::Watcher, Linux::Event::Backend, Linux::Event::Scheduler
VERSION
This document describes Linux::Event version 0.006.
AUTHOR
Joshua S. Day
LICENSE
Same terms as Perl itself.