File Coverage

lib/Parallel/WorkUnit/Procedural.pm
Criterion Covered Total %
statement 30 30 100.0
branch 1 2 50.0
condition n/a
subroutine 16 16 100.0
pod 9 9 100.0
total 56 57 98.2


line stmt bran cond sub pod time code
1              
2             # Copyright (C) 2015-2019 Joelle Maslak
3             # All Rights Reserved - See License
4             #
5              
6             package Parallel::WorkUnit::Procedural;
7             $Parallel::WorkUnit::Procedural::VERSION = '2.232040'; # TRIAL
8 41     41   10224191 use v5.8;
  41         459  
9              
10             # ABSTRACT: Provide procedural paradigm forking with ability to pass back data
11              
12 41     41   241 use strict;
  41         86  
  41         820  
13 41     41   208 use warnings;
  41         82  
  41         939  
14 41     41   822 use autodie;
  41         14859  
  41         438  
15              
16             require Exporter;
17             our @ISA = qw(Exporter);
18             our @EXPORT_OK = qw(
19             async asyncs proc_count proc_wait queue start waitall waitone WorkUnit
20             );
21             our %EXPORT_TAGS = ( all => [@EXPORT_OK] );
22              
23 41     41   244213 use Carp;
  41         130  
  41         2854  
24 41     41   23744 use Parallel::WorkUnit;
  41         120  
  41         1512  
25              
26 41     41   20673 use namespace::autoclean;
  41         667694  
  41         169  
27              
28              
29              
30             my $wu = Parallel::WorkUnit->new();
31              
32             sub WorkUnit() {
33 1085 50   1085 1 4168 $wu = Parallel::WorkUnit->new() if !defined($wu);
34 1085         15315 return $wu;
35             }
36              
37              
38 470     470 1 37789451 sub async(&;&) { return WorkUnit->async(@_) }
39              
40              
41 27     27 1 162 sub asyncs { return WorkUnit->asyncs(@_) }
42              
43              
44 72     72 1 6777 sub waitall() { return WorkUnit->waitall() }
45              
46              
47 46     46 1 49656 sub waitone { return WorkUnit->waitone(@_) }
48              
49              
50 4     4 1 1080 sub proc_wait { return WorkUnit->wait(@_) }
51              
52              
53 457     457 1 326620 sub proc_count() { return WorkUnit->count() }
54              
55              
56 7     7 1 58107 sub queue { return WorkUnit->queue(@_) }
57              
58              
59 2     2 1 424 sub start(&) { return WorkUnit->start(@_) }
60              
61             1;
62              
63             __END__