The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::Curl::Promiser::Select

DESCRIPTION

This module implements Net::Curl::Promiser via Perl’s select() built-in.

See /examples in the distribution for a fleshed-out demonstration.

This is “the hard way” to do this, by the way. Your life will be simpler if you use (or create) an event-loop-based implementation like Net::Curl::Promiser::AnyEvent or Net::Curl::Promiser::IOAsync. See /examples for comparisons.

process( $READ_MASK, $WRITE_MASK )

Instances of this class should pass the read and write bitmasks to the process() method that otherwise would be passed to Perl’s select() built-in.

METHODS

The following are added in addition to the base class methods:

($rmask, $wmask, $emask) = OBJ->get_vecs();

Returns the bitmasks to use as input to select().

Note that, since these are copies of OBJ’s internal values, you don’t need to copy them again before calling select().

@fds = OBJ->get_fds();

Returns the file descriptors that OBJ tracks—or, in scalar context, the count of such. Useful to check for exception events.

@fds = OBJ->get_timeout();

Translates the base class’s implementation of this method to seconds (since that’s what select() expects).