On Tue, Dec 14, 1999 at 09:03:51PM -0800, [EMAIL PROTECTED] wrote:
> I'm trying to solve a problem that I think should be able to use
> Event. I hope someone can point me in the right direction.
>
> The basic structure is that I have a several tasks to perform repeatedly,
> but I don't know when I want to do any given task again until I'm doing it.
> Something like:
>
> sub callback{
> <do something>;
> <figure out when we need to do it again>;
> <arrange to do it again at the appointed time>;
> }
>
> I was hoping to do something like reset the 'after' attribute of the
> event while I was in it, and then call again. The following code is
> clearly not right, because there is no 'after' method in Event::timer,
> but I hope it conveys what I'm trying to do:
>
> #!/usr/local/bin/perl
>
> use Event qw( loop );
>
> $w = Event->timer(after => 1);
>
> $w->cb(sub {
> print scalar localtime, "\n";
> $w->after(rand(10.));
> $w->again;
> });
> loop();
>
> Can anyone suggest a better approach for this kind of problem?
How about this?
package Event::timer; # UNTESTED
sub after {
my ($w, $sec) = @_;
$w->at(Event::time() + $sec);
}
--
"Never ascribe to malice that which can be explained by stupidity."
via, but not speaking for Deutsche Bank