NAME

IOMux::Poll - simplify use of poll()

INHERITANCE

IOMux::Poll
  is a IOMux

SYNOPSIS

use IOMux::Poll;

my $mux    = IOMux::Poll->new;
my $server = IOMux::Service::TCP->new(...);
$mux->add($server);
$mux->loop;

DESCRIPTION

Multiplexer based on the poll() system call, defined by POSIX.

The poll has less administration overhead than the select call (implemented via IOMux::Select) because it avoids the need to play with bit-vectors to see which file handles got activated. However, poll is not supported on all platforms.

METHODS

Constructors

IOMux::Poll->new(OPTIONS) See "Constructors" in IOMux

Accessors

$obj->poller

The internal IO::Poll object.

User interface

$obj->add(HANDLER|BUNDLE) See "User interface" in IOMux
$obj->endLoop(BOOLEAN) See "User interface" in IOMux
$obj->loop([HEARTBEAT]) See "User interface" in IOMux
$obj->open(MODE, PARAMS) See "User interface" in IOMux

For internal use

$obj->changeTimeout(FILENO, OLDTIMEOUT, NEWTIMEOUT) See "For internal use" in IOMux
$obj->fdset(FILENO, STATE, READ, WRITE, EXCEPT) See "For internal use" in IOMux
$obj->handler(FILENO, [HANDLER]) See "For internal use" in IOMux
$obj->handlers See "For internal use" in IOMux
$obj->remove(FILENO) See "For internal use" in IOMux

DETAILS

Installation

Event managers

File handles

Alternatives

IO::Multiplex

Difference to IO::Multiplex

IO::Async / Net::Async

Implementation limitations

Poll is only available on UNIX. Windows Vista has added a WSAPoll with comparible functionality (probably), but afaik there is no binary wrapper available for perl yet.

SEE ALSO

This module is part of IOMux distribution version 0.12, built on January 27, 2011. Website: http://perl.overmeer.net/ All modules in this suite: "Any::Daemon", "IOMux", and "IOMux::HTTP".

Please post questions or ideas to perl@overmeer.net

LICENSE

Copyrights 2011 by Mark Overmeer. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html