Linux::Event::Listen

CI

Listening sockets for Linux::Event, supporting both TCP and UNIX domain sockets.

Install

cpanm Linux::Event::Listen

Usage (TCP)

use v5.36;
use Linux::Event;
use Linux::Event::Listen;

my $loop = Linux::Event->new;

my $listen = Linux::Event::Listen->new(
  loop => $loop,
  host => '127.0.0.1',
  port => 3000,

  on_accept => sub ($loop, $client_fh, $peer, $listen) {
    # You own $client_fh (already non-blocking).
    ...
  },
);

$loop->run;

Usage (UNIX)

my $listen = Linux::Event::Listen->new(
  loop   => $loop,
  path   => '/tmp/app.sock',
  unlink => 1,

  on_accept => sub ($loop, $client_fh, $peer, $listen) {
    ...
  },
);

Guarantees and semantics

Error handling

UNIX socket lifecycle

See the POD in Linux::Event::Listen for full details.