NAME
Reflex::Interval - A stand-alone multi-shot periodic callback
VERSION
version 0.085
SYNOPSIS
As with all Reflex objects, Reflex::Interval may be used in many different ways.
Inherit it and override its on_tick() callback, with or without using Moose.
package App;
use Reflex::Interval;
use base qw(Reflex::Interval);
sub on_tick {
print "tick at ", scalar(localtime), "...\n";
shift()->repeat();
}
Run it as a promise that generates periodic events. All other Reflex objects will also be running while <$pt-
next()>> is blocked.
my $pt = Reflex::Interval->new(
interval => 1 + rand(),
auto_repeat => 1,
);
while (my $event = $pt->next()) {
eg_say("promise timer returned an event ($event->{name})");
}
Plain old callbacks:
my $ct = Reflex::Interval->new(
interval => 1,
auto_repeat => 1,
on_tick => sub { print "coderef callback triggered\n" },
);
Reflex->run_all();
And so on. See Reflex, Reflex::Base and Reflex::Role::Reactive for details.
DESCRIPTION
Reflex::Interval invokes a callback after a specified interval of time has passed, and then after every subsequent interval of time. Interval timers may be stopped and started. Their timers may be automatically or manually repeated.
Public Attributes
interval
Implemented and documented by "interval" in Reflex::Role::Interval.
auto_repeat
Implemented and documented by "auto_repeat" in Reflex::Role::Interval.
auto_start
Implemented and documented by "auto_start" in Reflex::Role::Interval.
Public Callbacks
on_tick
Implemented and documented by "cb_tick" in Reflex::Role::Interval.
Public Methods
repeat
Implemented and documented by "method_repeat" in Reflex::Role::Interval.
start
Implemented and documented by "method_start" in Reflex::Role::Interval.
stop
Implemented and documented by "method_stop" in Reflex::Role::Interval.
EXAMPLES
TODO - Many. Link to them.
SEE ALSO
Reflex Reflex::Role Reflex::Role::Interval Reflex::Role::Timeout Reflex::Role::Wakeup Reflex::Timeout Reflex::Wakeup
"ACKNOWLEDGEMENTS" in Reflex "ASSISTANCE" in Reflex "AUTHORS" in Reflex "BUGS" in Reflex "BUGS" in Reflex "CONTRIBUTORS" in Reflex "COPYRIGHT" in Reflex "LICENSE" in Reflex "TODO" in Reflex