Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IO::Lambda::Loop::SeleUser)Contributed Perl DocumenIO::Lambda::Loop::Select(3)

NAME
       IO::Lambda::Loop::Select	- select(2)-based event	loop for IO::Lambda

DESCRIPTION
       This is the default implementation of event loop	for IO::Lambda.
       IO::Lambda is designed to be agnostic of	event loop choice, but this
       one is the default, reference implementation. 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 new instance	of "IO::Lambda::Loop::Select".

       after $RECORD
	   Stores the timeout record. The timeout record is an array, with the
	   following layout: [ $OBJECT,	$DEADLINE, $CALLBACK ].	Loop invokes
	   "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 in an array, with the following
	   layout: [ $OBJECT, $DEADLINE, $CALLBACK, $HANDLE, $FLAGS ]. Loop
	   invokes "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	record to become active,
	   dispatches events to	"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.

perl v5.32.0			  2012-03-14	   IO::Lambda::Loop::Select(3)

NAME | DESCRIPTION | SYNOPSIS | API

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=IO::Lambda::Loop::Select&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help