=encoding utf8
=head1 NAME
IOMux::Poll - simplify use of poll()
=head1 INHERITANCE
IOMux::Poll
is an IOMux
=head1 SYNOPSIS
my $mux = IOMux::Poll->new;
my $server = IOMux::Service::TCP->new(...);
$mux->add($server);
$mux->loop;
=head1 DESCRIPTION
Multiplexer based on the C<poll()> system call, defined by POSIX.
The C<poll> has less administration overhead than the C<select> call
(implemented via L<IOMux::Select|IOMux::Select>) because it avoids the need to play
with bit-vectors to see which file handles got activated. However,
C<poll> is not supported on all platforms.
Extends L<"DESCRIPTION" in IOMux|IOMux/"DESCRIPTION">.
=head1 METHODS
Extends L<"METHODS" in IOMux|IOMux/"METHODS">.
=head2 Constructors
Extends L<"Constructors" in IOMux|IOMux/"Constructors">.
=over 4
=item IOMux::Poll-E<gt>B<new>(%options)
Inherited, see L<IOMux/"Constructors">
=back
=head2 Accessors
Extends L<"Accessors" in IOMux|IOMux/"Accessors">.
=over 4
=item $obj-E<gt>B<poller>()
The internal IO::Poll object.
=back
=head2 User interface
Extends L<"User interface" in IOMux|IOMux/"User interface">.
=over 4
=item $obj-E<gt>B<add>($handler|$bundle)
Inherited, see L<IOMux/"User interface">
=item $obj-E<gt>B<endLoop>(BOOLEAN)
Inherited, see L<IOMux/"User interface">
=item $obj-E<gt>B<loop>( [$heartbeat] )
Inherited, see L<IOMux/"User interface">
=item $obj-E<gt>B<open>($mode, $params)
Inherited, see L<IOMux/"User interface">
=back
=head2 For internal use
Extends L<"For internal use" in IOMux|IOMux/"For internal use">.
=over 4
=item $obj-E<gt>B<changeTimeout>($fileno, $oldtimeout, $newtimeout)
Inherited, see L<IOMux/"For internal use">
=item $obj-E<gt>B<fdset>($fileno, $state, $read, $write, $except)
Inherited, see L<IOMux/"For internal use">
=item $obj-E<gt>B<handler>( $fileno, [$handler] )
Inherited, see L<IOMux/"For internal use">
=item $obj-E<gt>B<handlers>()
Inherited, see L<IOMux/"For internal use">
=item $obj-E<gt>B<remove>($fileno)
Inherited, see L<IOMux/"For internal use">
=back
=head1 DETAILS
Extends L<"DETAILS" in IOMux|IOMux/"DETAILS">.
=head2 Installation
Extends L<"Installation" in IOMux|IOMux/"Installation">.
=head2 Event managers
Extends L<"Event managers" in IOMux|IOMux/"Event managers">.
=head2 File handles
Extends L<"File handles" in IOMux|IOMux/"File handles">.
=head2 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.
=head1 SEE ALSO
This module is part of IOMux distribution version 1.01,
built on January 15, 2020. Website: F<http://perl.overmeer.net/CPAN>
=head1 LICENSE
Copyrights 2011-2020 by [Mark Overmeer <markov@cpan.org>]. 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.