Rocco Caputo

NAME

POE::Stage::Ticker - a periodic message generator for POE::Stage

SYNOPSIS

        sub some_handler :Handler {
                my $req_ticker = POE::Stage::Ticker->new();
                my $req_ticker_request = POE::Request->new(
                        stage       => $req_ticker,
                        method      => "start_ticking",
                        on_tick     => "handle_tick",   # Invoke my handle_tick() method
                        args        => {
                                interval  => 10,              # every 10 seconds.
                        },
                );
        }

        sub handle_tick {
                my $arg_id;
                print "Handled tick number $arg_id in a series.\n";
        }

DESCRIPTION

POE::Stage::Ticker emits recurring messages at a fixed interval.

PUBLIC COMMANDS

start_ticking (interval => FLOAT)

Used to request the Ticker to start ticking. The Ticker will emit a "tick" message every "interval" seconds.

PUBLIC RESPONSES

Responses are returned by POE::Request->return() or emit().

"tick" (id)

Once start_ticking() has been invoked, POE::Stage::Ticker emits a "tick" event. The "id" parameter is the ticker's unique ID, so that ticks from multiple tickers are not confused.

BUGS

See http://thirdlobe.com/projects/poe-stage/report/1 for known issues. See http://thirdlobe.com/projects/poe-stage/newticket to report one.

POE::Stage is too young for production use. For example, its syntax is still changing. You probably know what you don't like, or what you need that isn't included, so consider fixing or adding that, or at least discussing it with the people on POE's mailing list or IRC channel. Your feedback and contributions will bring POE::Stage closer to usability. We appreciate it.

SEE ALSO

POE::Stage and POE::Request. The examples/many-responses.perl program in POE::Stage's distribution.

AUTHORS

Rocco Caputo <rcaputo@cpan.org>.

LICENSE

POE::Stage::Ticker is Copyright 2005-2006 by Rocco Caputo. All rights are reserved. You may use, modify, and/or distribute this module under the same terms as Perl itself.