Provided by: libperlio-via-timeout-perl_0.32-3_all bug

NAME

       PerlIO::via::Timeout - a PerlIO layer that adds read & write timeout to a handle

VERSION

       version 0.32

SYNOPSIS

         use Errno qw(ETIMEDOUT);
         use PerlIO::via::Timeout qw(:all);
         open my $fh, '<:via(Timeout)', 'foo.html';

         # set the timeout layer to be 0.5 second read timeout
         read_timeout($fh, 0.5);

         my $line = <$fh>;
         if ($line == undef && 0+$! == ETIMEDOUT) {
           # timed out
           ...
         }

DESCRIPTION

       This package implements a PerlIO layer, that adds read / write timeout. This can be useful
       to avoid blocking while accessing a handle (file, socket, ...), and fail after some time.

       The timeout is implemented by using "<select"> on the handle before reading/writing.

       WARNING the handle won't timeout if you use "sysread" or "syswrite" on it, because these
       functions works at a lower level. However if you're trying to implement a timeout for a
       socket, see IO::Socket::Timeout that implements exactly that.

FUNCTIONS

   read_timeout
         # set a read timeout of 2.5 seconds
         read_timeout($fh, 2.5);
         # get the current read timeout
         my $secs = read_timeout($fh);

       Getter / setter of the read timeout value.

   write_timeout
         # set a write timeout of 2.5 seconds
         write_timeout($fh, 2.5);
         # get the current write timeout
         my $secs = write_timeout($fh);

       Getter / setter of the write timeout value.

   enable_timeout
         enable_timeout($fh);

       Equivalent to setting timeout_enabled to 1

   disable_timeout
         disable_timeout($fh);

       Equivalent to setting timeout_enabled to 0

   timeout_enabled
         # disable timeout
         timeout_enabled($fh, 0);
         # enable timeout
         timeout_enabled($fh, 1);
         # get the current status
         my $is_enabled = timeout_enabled($fh);

       Getter / setter of the timeout enabled flag.

   has_timeout_layer
         if (has_timeout_layer($fh)) {
           # set a write timeout of 2.5 seconds
           write_timeout($fh, 2.5);
         }

       Returns whether the given filehandle is managed by PerlIO::via::Timeout.

SEE ALSO

       PerlIO::via

THANKS TO

       Vincent Pit
       Christian Hansen
       Leon Timmmermans

AUTHOR

       Damien "dams" Krotkine

COPYRIGHT AND LICENSE

       This software is copyright (c) 2013 by Damien "dams" Krotkine.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.