Paul Evans > IO-Async > IO::Async::Future

Download:
IO-Async-0.63.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  10
Open  7
View/Report Bugs
Module Version: 0.63   Source  

NAME ^

IO::Async::Future - use Future with IO::Async

SYNOPSIS ^

 use IO::Async::Loop;

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

 my $future = $loop->new_future;

 $loop->watch_time( after => 3, code => sub { $future->done( "Done" ) } );

 print $future->get, "\n";

DESCRIPTION ^

This subclass of Future stores a reference to the IO::Async::Loop instance that created it, allowing the await method to block until the Future is ready. These objects should not be constructed directly; instead the new_future method on the containing Loop should be used.

For a full description on how to use Futures, see the Future documentation.

CONSTRUCTORS ^

New IO::Async::Future objects should be constructed by using the following methods on the Loop. For more detail see the IO::Async::Loop documentation.

$future = $loop->new_future

Returns a new pending Future.

$future = $loop->delay_future( %args )

Returns a new Future that will become done at a given time.

$future = $loop->timeout_future( %args )

Returns a new Future that will become failed at a given time.

METHODS ^

$loop = $future->loop

Returns the underlying IO::Async::Loop object.

$future->done_later( @result )

A shortcut to calling the done method in a later idle watch on the underlying Loop object. Ensures that a returned Future object is not ready immediately, but will wait for the next IO round.

Like done, returns $future itself to allow easy chaining.

$future->fail_later( $exception, @details )

A shortcut to calling the fail method in a later idle watch on the underlying Loop object. Ensures that a returned Future object is not ready immediately, but will wait for the next IO round.

Like fail, returns $future itself to allow easy chaining.

AUTHOR ^

Paul Evans <leonerd@leonerd.org.uk>

syntax highlighting: