Timer(3pm)

NAME

Coro::Timer - timers and timeouts, independent of any event loop

SYNOPSIS

use Coro::Timer qw(sleep timeout);
# nothing exported by default

sleep 10;

DESCRIPTION

This package implements a simple timer callback system which works
independent of the event loop mechanism used.

$flag = timeout $seconds;
This function will wake up the current coroutine after $seconds
seconds and sets $flag to true (it is false initially). If $flag
goes out of scope earlier nothing happens. This is used to
implement the "timed_down", "timed_wait" etc. primitives. It is
used like this:

sub timed_wait {
my $timeout = Coro::Timer::timeout 60;
while (condition false) {
Coro::schedule; # wait until woken up or timeout
return 0 if $timeout; # timed out
}
return 1; # condition satisfied
}
sleep $seconds
This function works like the built-in sleep, except maybe more
precise and, most important, without blocking other coroutines.

AUTHOR

Marc Lehmann <schmorp@schmorp.de>
http://home.schmorp.de/
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout