Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.473.137 Times

Async::MergePoint 0.03

Company: Paul Evans
Date Added: September 06, 2013  |  Visits: 422

Async::MergePoint

Report Broken Link
Printer Friendly Version


Product Homepage
Download (38 downloads)



Often in program logic, multiple different steps need to be taken that are independent of each other, but their total result is needed before the next step can be taken. In synchonous code, the usual approach is to do them sequentially.<br /><br />An asynchronous or event-based program could do this, but if each step involves some IO idle time, better overall performance can often be gained by running the steps in parallel. A Async::MergePoint object can then be used to wait for all of the steps to complete, before passing the combined result of each step on to the next stage.<br /><br />A merge point maintains a set of outstanding operations it is waiting on; these are arbitrary string values provided at the object's construction. Each time the done() method is called, the named item is marked as being complete. When all of the required items are so marked, the on_finished continuation is invoked.<br /><br />For use cases where code may be split across several different lexical scopes, it may not be convenient or possible to share a lexical variable, to pass on the result of some asynchronous operation. In these cases, when an item is marked as complete a value can also be provided which contains the results of that step. The on_finished callback is passed a hash (in list form, rather than by reference) of the collected item values.<br /><br />Async::MergePoint is a Perl module that was originally part of the IO::Async distribution, but was removed under the inspiration of Pedro Melo's Async::Hooks distribution, because it doesn't itself contain anything IO-specific.<br /><br />SYNOPSIS<br /><br /> use Async::MergePoint;<br /><br /> my $merge = Async::MergePoint->new(<br /> needs => [ "leaves", "water" ],<br /> );<br /><br /> my $water;<br /> Kettle->boil(<br /> on_boiled => sub { $water = shift; $merge->done( "water" ); }<br /> );<br /><br /> my $tea_leaves;<br /> Cupboard->get_tea_leaves(<br /> on_fetched => sub { $tea_leaves = shift; $merge->done( "leaves" ); }<br /> );<br /><br /> $merge->close(<br /> on_finished => sub {<br /> # Make tea using $water and $tea_leaves<br /> }<br /> );

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Async Async Mergepoint Asynchronous Asyncmergepoint Complete Distribution Finished Lexical Marked Merge Mergegtdone Mergepoint Provided Quotleavesquot Quotwaterquot Result Shift Steps Tea Leaves Water
Users rating: 0/10

License: Freeware Size: 10.24 KB
USER REVIEWS
More Reviews or Write Review


ASYNC::MERGEPOINT RELATED
Science  -  blexisma 2
This is a suite of several software agents to provide a complete architecture of lexical base as proposed in Didier Schwab's PhD. thesis. It will be used for automatic translation, information retrieval and other natural language processing tasks.
325.79 KB  
Programming  -  gocept.async 0.3.3
gocept.async provides asynchronous function calls using a decorator. It facilitates lovely.remotetask to actually do things asynchronously.
10.24 KB  
Utilities  -  FreeWRT 1.0.2
FreeWRT project is a meta GNU/Linux distribution for embedded systems. In this context "meta" means, you can build the complete distribution from source. FreeWRT is meant to be an appliance development kit (ADK) especially designed for embedded...
11 MB  
Development Tools  -  BYLD 1.0.3
This is a little package that helps you to build a Linux distribution on a single floppy disk to use as you want (net client, rescue disk...). This is not a complete distribution: it was made only to build a mini distribution on a floppy.
 
Programming  -  pysnmp 4.1.15a
SNMP v1/v2c/v3 engine and apps written in pure-Python. Features: * Complete SNMPv1/v2c and SNMPv3 engine support * Can act Manager and/or Agent role * Manager and Agent side MIB support * Asynchronous...
174.08 KB  
Utilities  -  Salvare 0.1.5
Salvare (from the Latin "to rescue") is a small Linux distribution designed for small, credit-card sized CDs which typically hold around 34MB. More Linux than tomsrtbt but less than Knoppix, it aims to provide a useful workstation as well as a...
19.05 MB  
Backup Utilities  -  Partition Manager Express 9.0
Leading partitioning tool with millions of people enjoying the software worldwide! Partitioning is not a child's play - it needs stability and high-level technology,we develop the disk management solutions for over 14 years and offer the most...
96.36 MB  
Network & Internet  -  mod_trace_output 1.1 Beta
mod_trace_output is an Apache plugin implementing server monitoring for output Web pages. mod_trace_output is part of the WASA application developed by Jean-Pierre Norguet. WASA aims to analyse the semantic content viewed by a Web site visitors....
10.24 KB  
Screen Savers  -  Cubicle Flood for Mac OS 1.0
Under water at work? Cubicle Flood animates that sinking feeling by turning your idle computer screen into a flooding office, complete with rippling waters and floating debris. Theres never a static moment as you watch the water levels rise subtly...
20.8 MB  
Utilities  -  iGreetingCard Lite 1.1
iGreetingCard Lite is a e-cards (electronic greeting cards) making application to help you create stunning greeting cards. With iGreetingCard, you will find it???*a*?s an easy yet funny job to turn any normal photo into a prominent artwork....
17.1 MB  
NEW DOWNLOADS IN LINUX SOFTWARE, PROGRAMMING
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB