| line |
true |
false |
branch |
|
25
|
21 |
20 |
if (ref $cb_or_obj_or_class eq 'CODE') { } |
|
|
14 |
6 |
elsif (&blessed($cb_or_obj_or_class)) { } |
|
|
6 |
0 |
elsif (defined $cb_or_obj_or_class and not ref $cb_or_obj_or_class) { } |
|
33
|
0 |
14 |
if not $method or ref $method and ref $method ne 'CODE' |
|
35
|
13 |
1 |
if $obj |
|
40
|
0 |
6 |
if not $method or ref $method and ref $method ne 'CODE' |
|
51
|
4 |
107 |
if 2 != @_ |
|
52
|
3 |
104 |
unless ref $throttle |
|
53
|
20 |
84 |
if ref $target ne 'CODE' |
|
60
|
4 |
28 |
if $throttle |
|
66
|
75 |
285 |
if ($IN_flush) |
|
67
|
46 |
29 |
unless ($IN_flush_ignore_recursion) |
|
85
|
2 |
195 |
unless (defined $this) |
|
93
|
9 |
196 |
unless defined $resources |
|
94
|
5 |
191 |
if ref $resources ne 'HASH' |
|
96
|
1 |
190 |
unless keys %{$resources;} |
|
99
|
4 |
195 |
if ref $quantity |
|
101
|
96 |
92 |
if ($throttle->try_acquire($id, $key, $quantity)) { } |
|
108
|
87 |
92 |
if ($acquired == keys %{$resources;}) { } |
|
113
|
2 |
90 |
if ($acquired) |
|
131
|
33 |
236 |
if $IN_flush_recursion |
|
160
|
0 |
64 |
unless defined &{$func;} |
|
163
|
14 |
50 |
if ($is_method) { } |
|
182
|
13 |
73 |
unless defined $resources |
|
183
|
5 |
68 |
if ref $resources ne 'HASH' |
|
185
|
1 |
67 |
unless keys %{$resources;} |
|
187
|
4 |
71 |
if ref $quantity |
|
189
|
45 |
19 |
if ($throttle->try_acquire($id, $key, $quantity)) { } |
|
202
|
8 |
11 |
if ($failed) { } |
|
219
|
8 |
40 |
if ($failed) { } |
|
230
|
90 |
15 |
if ($is_used) { } |
|
236
|
24 |
103 |
if ($IN_flush_pending) |
|
244
|
0 |
5 |
if not $func or ref $func |
|
245
|
3 |
2 |
unless ($func =~ /::/ms) |
|
248
|
0 |
5 |
unless defined &{$func;} |
|
252
|
1 |
4 |
$is_asap ? : |
|
|
0 |
5 |
unless eval 'sub ' . $func . " {\n if (!" . $is_sync . qq[ && \@_ && ref \$_[-1] eq "CODE") {\n my \$done = &throttle_me] . ($is_asap ? '_asap' : '') . " || return;\n my \$cb = pop;\n \$orig->(\@_, done_cb(\$done, \$cb));\n return;\n } elsif (wantarray) {\n my \$done = &throttle_me_sync;\n my \@res = &\$orig;\n \$done->();\n return \@res;\n } else {\n my \$done = &throttle_me_sync;\n my \$res = &\$orig;\n \$done->();\n return \$res;\n }\n }; 1" |
|
|
32 |
14 |
if (@_ and ref $_[-1] eq 'CODE') { } |
|
|
0 |
14 |
elsif (wantarray) { } |
|
|
10 |
0 |
if (@_ and ref $_[-1] eq 'CODE') { } |
|
|
0 |
0 |
elsif (wantarray) { } |
|
276
|
87 |
245 |
if (ref $args->[$_] eq 'Sub::Throttler::__done') |
|
281
|
2 |
105 |
unless defined &{$func;} |
|
285
|
34 |
71 |
if ($is_method) { } |
|
289
|
28 |
6 |
if (ref $self) |
|
313
|
31 |
56 |
if ($this) { } |
|
333
|
2 |
127 |
if ($Check{$id}) |
|
348
|
42 |
112 |
unless (delete $Check{$id}) |