Dmitry Karasik > Prima-1.37_01 > Prima::Timer

Download:
Prima-1.37_01.tgz

Annotate this POD

Website

CPAN RT

New  1
Open  2
Stalled  1
View/Report Bugs
Source   Latest Release: Prima-1.39

NAME ^

Prima::Timer - programmable periodical events

SYNOPSIS ^

    my $timer = Prima::Timer-> create(
        timeout => 1000, # milliseconds
        onTick  => sub {
           print "tick!\n";
        },
    );

    $timer-> start;

DESCRIPTION ^

Prima::Timer arranges periodical notifications to be delivered in certain time intervals. The notifications are triggered by the system, and are seen as Tick events. There can be many active Timer objects at one time, spawning events simultaneously.

USAGE ^

Prima::Timer is a descendant of Prima::Component. Objects of Prima::Timer class are created in standard fashion:

  my $t = Prima::Timer-> create(
     timeout => 1000,
     onTick  => sub { print "tick\n"; },
  );
  $t-> start;

If no `owner` is given, $::application is assumed.

Timer objects are created in inactive state; no events are spawned. To start spawning events, <start()> method must be explicitly called. Time interval value is assigned using the <::timeout> property in milliseconds.

When the system generates timer event, no callback is called immediately, - an event is pushed into stack instead, to be delivered during next event loop. Therefore, timeout value is not held accurately, and events may take longer time to pass. More accurate timing scheme, as well as timing with precision less than a millisecond, is not supported by the toolkit.

API ^

Properties

timeout MILLISECONDS

Manages time interval between Tick events. In set-mode call, if the timer is in active state ( see get_active(), the new timeout value is applied immediately.

Methods

get_active

Returns a boolean flag, whether object is in active state or not. In the active state Tick events are spawned after ::timeout time intervals.

get_handle

Returns a system-dependent handle of object

start

Sets object in active state. If succeed, or if the object is already in active state, returns 1. If the system was unable to create a system timer instance, 0 is returned.

stop

Sets object in inactive state.

Events

Tick

A system generated event, spawned every ::timeout milliseconds if object is in active state.

AUTHOR ^

Dmitry Karasik, <dmitry@karasik.eu.org>.

SEE ALSO ^

Prima, Prima::Object

syntax highlighting: