Man Linux: Main Page and Category List

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