NAME

POE::Future - use Future with POE

SYNOPSIS

use POE::Future;

my $future = POE::Future->new_delay( 10 )
   ->then_done( "Hello, world!" );

say $future->get;

DESCRIPTION

This subclass of Future integrates with POE, allowing the await method to block until the future is ready. It allows POE-using code to be written that returns Future instances, so that it can make full use of Future's abilities, including Future::Utils, and also that modules using it can provide a Future-based asynchronous interface of their own.

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

CONSTRUCTORS

new

$f = POE::Future->new;

Returns a new leaf future instance, which will allow waiting for its result to be made available, using the await method.

new_delay

$f = POE::Future->new_delay( $after );

Returns a new leaf future instance which will become ready (with an empty result) after the specified delay time.

new_alarm

$f = POE::Future->new_alarm( $at );

Returns a new leaf future instance which will become ready (with an empty result) at the specified alarm time.

To create a delay or alarm timer that will fail instead of succeed, use the then_fail method:

my $f = POE::Future->new_delay( 20 )
   ->then_fail( "Timeout" );

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>