Reflex::Interval - A stand-alone multi-shot periodic callback
version 0.085
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.
<$pt-
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.
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.
Implemented and documented by "interval" in Reflex::Role::Interval.
Implemented and documented by "auto_repeat" in Reflex::Role::Interval.
Implemented and documented by "auto_start" in Reflex::Role::Interval.
Implemented and documented by "cb_tick" in Reflex::Role::Interval.
Implemented and documented by "method_repeat" in Reflex::Role::Interval.
Implemented and documented by "method_start" in Reflex::Role::Interval.
Implemented and documented by "method_stop" in Reflex::Role::Interval.
TODO - Many. Link to them.
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
To install Reflex, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Reflex
CPAN shell
perl -MCPAN -e shell install Reflex
For more information on module installation, please visit the detailed CPAN module installation guide.