=encoding utf8

=head1 NAME

IOMux::Handler::Service - any mux service

=head1 INHERITANCE

 IOMux::Handler::Service
   is an IOMux::Handler

 IOMux::Handler::Service is extended by
   IOMux::Service::TCP

=head1 SYNOPSIS

  # only use extensions

=head1 DESCRIPTION

This base-class defines what interface services provide. A service is
(in the general case) a socket which is listening to incoming connections)

Extends L<"DESCRIPTION" in IOMux::Handler|IOMux::Handler/"DESCRIPTION">.
 
=head1 METHODS

Extends L<"METHODS" in IOMux::Handler|IOMux::Handler/"METHODS">.
 
=head2 Constructors

Extends L<"Constructors" in IOMux::Handler|IOMux::Handler/"Constructors">.
 
=over 4

=item IOMux::Handler::Service-E<gt>B<new>(%options)

Inherited, see L<IOMux::Handler/"Constructors">

=item IOMux::Handler::Service-E<gt>B<open>($mode, $what, %options)

Inherited, see L<IOMux::Handler/"Constructors">

=back

=head2 Accessors

Extends L<"Accessors" in IOMux::Handler|IOMux::Handler/"Accessors">.
 
=over 4

=item $obj-E<gt>B<fh>()

Inherited, see L<IOMux::Handler/"Accessors">

=item $obj-E<gt>B<fileno>()

Inherited, see L<IOMux::Handler/"Accessors">

=item $obj-E<gt>B<mux>()

Inherited, see L<IOMux::Handler/"Accessors">

=item $obj-E<gt>B<name>()

Inherited, see L<IOMux::Handler/"Accessors">

=item $obj-E<gt>B<usesSSL>()

Inherited, see L<IOMux::Handler/"Accessors">

=back

=head2 User interface

Extends L<"User interface" in IOMux::Handler|IOMux::Handler/"User interface">.
 
=head2 Multiplexer

Extends L<"Multiplexer" in IOMux::Handler|IOMux::Handler/"Multiplexer">.
 
=head3 Connection

Extends L<"Connection" in IOMux::Handler|IOMux::Handler/"Connection">.
 
=over 4

=item $obj-E<gt>B<muxInit>( $mux, [$handler] )

Inherited, see L<IOMux::Handler/"Connection">

=item $obj-E<gt>B<muxRemove>()

Inherited, see L<IOMux::Handler/"Connection">

=item $obj-E<gt>B<muxTimeout>()

Inherited, see L<IOMux::Handler/"Connection">

=back

=head3 Reading

Extends L<"Reading" in IOMux::Handler|IOMux::Handler/"Reading">.
 
=over 4

=item $obj-E<gt>B<muxExceptFlagged>($fileno)

Inherited, see L<IOMux::Handler/"Reading">

=item $obj-E<gt>B<muxReadFlagged>($fileno)

Inherited, see L<IOMux::Handler/"Reading">

=back

=head3 Writing

Extends L<"Writing" in IOMux::Handler|IOMux::Handler/"Writing">.
 
=over 4

=item $obj-E<gt>B<muxWriteFlagged>($fileno)

Inherited, see L<IOMux::Handler/"Writing">

=back

=head3 Service

Extends L<"Service" in IOMux::Handler|IOMux::Handler/"Service">.
 
=over 4

=item $obj-E<gt>B<muxConnection>($client)

A new connection has arrived on the file-handle (socket) where we are
listening on. The connection has been accepted and the filehandle
of the new $client has been added to the MUX. You may wish to send an
initial string.

=back

=head2 Helpers

Extends L<"Helpers" in IOMux::Handler|IOMux::Handler/"Helpers">.
 
=over 4

=item $obj-E<gt>B<extractSocket>(HASH)

=item IOMux::Handler::Service-E<gt>B<extractSocket>(HASH)

Inherited, see L<IOMux::Handler/"Helpers">

=item $obj-E<gt>B<fdset>($state, $read, $write, $error)

Inherited, see L<IOMux::Handler/"Helpers">

=item $obj-E<gt>B<show>()

Inherited, see L<IOMux::Handler/"Helpers">

=back

=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.
See F<http://dev.perl.org/licenses/>

