SHA256
9
0
forked from pool/perl-Future
Stephan Kulow
2015-04-14 19:06:07 +00:00
committed by Git OBS Bridge
parent 1405622779
commit cf82fcde65
4 changed files with 160 additions and 16 deletions

View File

@@ -1,7 +1,7 @@
#
# spec file for package perl-Future
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: perl-Future
Version: 0.19
Version: 0.32
Release: 0
%define cpan_name Future
Summary: represent an operation awaiting completion
@@ -29,16 +29,13 @@ BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Module::Build)
BuildRequires: perl(Carp) >= 1.25
BuildRequires: perl(Module::Build) >= 0.4004
BuildRequires: perl(Test::Fatal)
BuildRequires: perl(Test::Identity)
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::Refcount)
#BuildRequires: perl(AnyEvent)
#BuildRequires: perl(Future)
#BuildRequires: perl(Future::Utils)
#BuildRequires: perl(IO::Async::Loop) >= 0.56
#BuildRequires: perl(POE)
Requires: perl(Carp) >= 1.25
%{perl_requires}
%description
@@ -50,18 +47,26 @@ Some futures represent a single operation and are explicitly marked as
ready by calling the 'done' or 'fail' methods. These are called "leaf"
futures here, and are returned by the 'new' constructor.
Other futures represent a collection sub-tasks, and are implicitly marked
as ready depending on the readiness of their component futures as required.
These are called "dependent" futures here, and are returned by the various
'wait_*' and 'need_*' constructors.
Other futures represent a collection of sub-tasks, and are implicitly
marked as ready depending on the readiness of their component futures as
required. These are called "convergent" futures here as they converge
control and data-flow back into one place. These are the ones returned by
the various 'wait_*' and 'need_*' constructors.
It is intended that library functions that perform asynchonous operations
It is intended that library functions that perform asynchronous operations
would use future objects to represent outstanding operations, and allow
their calling programs to control or wait for these operations to complete.
The implementation and the user of such an interface would typically make
use of different methods on the class. The methods below are documented in
two sections; those of interest to each side of the interface.
It should be noted however, that this module does not in any way provide an
actual mechanism for performing this asynchronous activity; it merely
provides a way to create objects that can be used for control and data flow
around those operations. It allows such code to be written in a neater,
forward-reading manner, and simplifies many common patterns that are often
involved in such situations.
See also the Future::Utils manpage which contains useful loop-constructing
functions, to run a future-returning function repeatedly in a loop.