IO::Lam...:Select(3)

πŸ“¦ version 1.34, in alpine 3.24

✨ NAME ✨

okay so bestie, welcome to the IO::Lambda::Loop::Select(3) page β€” it’s from the User Contributed Perl Documentation crew, and the name is literally IO::Lambda::Loop::Select β€” the select(2)-based event loop for IO::Lambda. πŸ’…


πŸ’– DESCRIPTION πŸ’–

This is the default implementation of the event loop for IO::Lambda. Like, the main-character default. πŸ‘‘

IO::Lambda is designed to be agnostic of event loop choice, but this one is the default, reference implementation. No cap.

The module is not intended for direct use. πŸ™ˆ The documentation declares the event loop interface rather than explains specificities of the module.

🌈 SYNOPSIS 🌈

use IO::Lambda::Loop::Select; # explicitly select the event loop module
use IO::Lambda;

πŸ‘‘ API πŸ‘‘

πŸŽ€ new

Creates a new instance of IO::Lambda::Loop::Select. fresh out the box, literally.

πŸ¦‹ after $RECORD

Stores the timeout record. The timeout record is an array, with the following layout:

[ $OBJECT, $DEADLINE, $CALLBACK ]

The loop invokes the io_handler method on $OBJECT after $DEADLINE is expired. ⏰

🌸 empty

Returns TRUE if there are no records in the loop, FALSE otherwise.

πŸ’œ remove $OBJECT

Removes all records associated with $OBJECT.

πŸ“ remove_event $RECORD

Removes a single event record.

✨ watch $RECORD

Stores the IO record. The IO record is an array, with the following layout:

[ $OBJECT, $DEADLINE, $CALLBACK, $HANDLE, $FLAGS ]

The loop invokes the io_handler method on $OBJECT either when $HANDLE becomes readable/writable etc, depending on $FLAGS, or after $DEADLINE is expired. $DEADLINE can be undef, meaning no timeout. $FLAGS is a combination of IO_READ, IO_WRITE, and IO_EXCEPTION values. πŸ‘€

🧚 yield

Waits for at least one of the stored records to become active, dispatches events to the io_handler method for the records that are active, then removes these records. The invoker must resubmit new records in order continue receiving new events. πŸ”


mwah πŸ’‹ β€” this page is from perl v5.42.2, dated 2026-02-15. slay. πŸ’–

πŸ“¦ where this page comes from