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>