Scroll to navigation

pod::Prima::Timer(3) User Contributed Perl Documentation pod::Prima::Timer(3)

NAME

Prima::Timer - programmable periodical events

SYNOPSIS

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

DESCRIPTION

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

USAGE

The Prima::Timer class is a descendant of the Prima::Component class. Objects of the Prima::Timer class are created in the 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 the inactive state; no events are spawned by default. To start spawning events, the start() method must be explicitly called. The time interval value is assigned by calling the <::timeout> property.

When the system generates a timer event, no callback is called immediately, - an event is pushed into the internal event stack instead, to be delivered during the next event loop. Therefore it cannot be guaranteed that the onTick noitifications will be called precisely after a timeout. A more accurate timing scheme, as well as timing with a precision of less than a millisecond, is not supported by the toolkit.

API

Properties

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

Methods

Returns the boolean flag that reflects whether the object is in the active state or not. In the active state "Tick" events are spawned after "::timeout" time intervals.
Returns the system-dependent handle of the printer object
Sets the object in the active state. If succeeds or if the object is already in the active state, returns 1. If the system is unable to create a system timer instance, the value of 0 is returned.
Sets object in the inactive state.
Toggles the timer state

Events

The system-generated event spawned every "::timeout" milliseconds if the object is in the active state.

AUTHOR

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

SEE ALSO

Prima, Prima::Object

2024-02-01 perl v5.38.2