Paul Evans > CPS-Governor-IOAsync > CPS::Governor::IOAsync

Download:
CPS-Governor-IOAsync-0.02.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source  

NAME ^

CPS::Governor::IOAsync - use IO::Async with CPS

SYNOPSIS ^

 use CPS qw( gkforeach );
 use CPS::Governor::IOAsync;

 use IO::Async::Loop;

 my $loop = IO::Async::Loop->new;

 my $gov = CPS::Governor::IOAsync->new( loop => $loop );

 gkforeach( $gov, [ 1 .. 10 ],
    sub {
       my ( $item, $knext ) = @_;

       $loop->do_something( on_done => $knext );
    },
    sub { $loop->loop_stop },
 );

 $loop->loop_forever;

DESCRIPTION ^

This CPS::Governor allows functions using it to defer their re-execution by using the IO::Async::Loop later method, meaning it will interleave with other IO operations performed by IO::Async.

CONSTRUCTOR ^

$gov = CPS::Governor::IOAsync->new( %args )

Returns a new instance of a CPS::Governor::IOAsync object. Requires the following argument:

loop => IO::Async::Loop

Reference to the IO::Async::Loop object.

Additionally may take any other arguments defined by the CPS::Governor::Deferred class.

AUTHOR ^

Paul Evans <leonerd@leonerd.org.uk>

syntax highlighting: