| line |
!l |
l&&!r |
l&&r |
condition |
|
41
|
0 |
0 |
75 |
"POSIX"->can("PIPE_BUF") and eval {
do {
&POSIX::PIPE_BUF()
}
} |
|
48
|
0 |
0 |
75 |
"POSIX"->can("SSIZE_MAX") and eval {
do {
&POSIX::SSIZE_MAX()
}
} |
|
64
|
0 |
0 |
75 |
$can_thread &&= $] >= "5.008001" |
|
65
|
0 |
75 |
0 |
$can_thread &&= $Atomic::Pipe::Config{'useithreads'} |
|
68
|
75 |
0 |
0 |
$can_thread and $] == "5.01" |
|
|
75 |
0 |
0 |
$can_thread and $] == "5.01" and $Atomic::Pipe::Config{'ccname'} eq "gcc" |
|
|
0 |
0 |
0 |
$can_thread and $] == "5.01" and $Atomic::Pipe::Config{'ccname'} eq "gcc" and $Atomic::Pipe::Config{'gccversion'} |
|
70
|
0 |
0 |
0 |
$parts[0] == 4 and $parts[1] >= 8 |
|
73
|
75 |
0 |
0 |
$can_thread &&= !$INC{'Devel/Cover.pm'} |
|
216
|
168101 |
4 |
5432754 |
$self->{'in_buffer_size'} and $self->{'in_buffer_size'} >= $size |
|
219
|
7 |
1 |
2 |
$params{'eof_invalid'} and $self->{'eof'} |
|
301
|
91 |
11 |
49 |
defined $buffer->{'lines'} and length $buffer->{'lines'} |
|
302
|
52 |
49 |
1 |
defined $buffer->{'burst'} and length $buffer->{'burst'} |
|
342
|
221 |
6 |
2 |
defined $params{'compression_dictionary'} and defined $params{'compression_dictionary_file'} |
|
346
|
217 |
6 |
4 |
defined $params{'compression_dictionary'} || defined $params{'compression_dictionary_file'} and not defined $params{'compression'} |
|
380
|
0 |
4 |
10 |
@_ and not ref $_[0] |
|
|
4 |
0 |
10 |
@_ and not ref $_[0] and $MODE_TO_DIR{$_[0]} |
|
564
|
331 |
54 |
0 |
$self->eof and keys %{$$self{'state'}{'buffers'};} || keys %{$$self{'state'}{'parts'};} |
|
572
|
118 |
0 |
24 |
$self->{'eof'} and not $self->{'in_buffer_size'} |
|
|
118 |
0 |
24 |
$self->{'eof'} and not $self->{'in_buffer_size'} and defined $line |
|
|
0 |
0 |
24 |
$self->{'eof'} and not $self->{'in_buffer_size'} and defined $line and length $line |
|
575
|
114 |
0 |
4 |
$params{'peek_line'} and defined $line |
|
|
114 |
0 |
4 |
$params{'peek_line'} and defined $line and length $line |
|
583
|
1 |
0 |
0 |
$self->{'eof'} and not $self->{'in_buffer_size'} |
|
651
|
93 |
0 |
4 |
$peek and not $self->{'eof'} |
|
756
|
21 |
1 |
18 |
$self->{'rh'} and not $self->{'wh'} |
|
|
0 |
1 |
21 |
$self->{'wh'} and not $self->{'rh'} |
|
766
|
1 |
0 |
0 |
$r and $w |
|
814
|
0 |
0 |
9 |
$self->{'rh'} and not $self->{'wh'} |
|
820
|
0 |
0 |
8 |
$self->{'wh'} and not $self->{'rh'} |
|
894
|
9 |
3 |
1 |
$cache and $cache->[0] eq $data |
|
932
|
218 |
140 |
2 |
$self->{'wh'} and $self->pending_output |
|
1074
|
21 |
2 |
2 |
$self->{'keep_compressed'} and wantarray |
|
1087
|
7 |
0 |
2800350 |
defined $key_bytes and length $key_bytes |
|
1092
|
5 |
1 |
1 |
$self->{'eof'} and $self->{'in_buffer_size'} |
| line |
l |
!l |
condition |
|
133
|
0 |
0 |
$self->{'read_size'} ||= 65536 |
|
163
|
168373 |
134 |
$self->{'in_buffer_size'} //= 0 |
|
165
|
0 |
168507 |
$self->{'read_size'} || 65536 |
|
171
|
305 |
144036 |
$self->{'read_blocking'} // 1 |
|
247
|
0 |
10 |
$self->{'compression_level'} // 3 |
|
272
|
2 |
37 |
$self->{'compression_level'} // 3 |
|
312
|
8 |
0 |
fcntl($fh, 3, 0) // (return undef) |
|
463
|
0 |
119 |
$self->{'burst_prefix'} //= "\16" |
|
464
|
0 |
119 |
$self->{'burst_postfix'} //= "\17" |
|
465
|
0 |
119 |
$self->{'message_key'} //= "\20" |
|
552
|
146 |
48 |
$self->{'mixed_buffer'} //= {"lines", "", "burst", "", "in_burst", 0, "in_message", 0, "strip_term", 0} |
|
610
|
38 |
0 |
$self->_get_from_buffer(1, "eof_invalid", "EOF before message terminator") // (return) |
|
617
|
71 |
0 |
$self->_peek_from_buffer(1, "eof_invalid", "Incomplete burst data received before end of pipe") // (next) |
|
626
|
28 |
1 |
$buffer->{'burst'} //= "" |
|
686
|
0 |
0 |
'Win32::API'->new('kernel32', 'PeekNamedPipe', 'NPIPPP', 'N') || die(q[Can't load PeekNamedPipe from kernel32.dll]) |
|
706
|
0 |
0 |
'Win32::API'->new('kernel32', 'SetNamedPipeHandleState', 'NPPP', 'N') || die(q[Can't load SetNamedPipeHandleState from kernel32.dll]) |
|
885
|
14 |
96 |
$_[0]{'burst_prefix'} // "" |
|
|
14 |
96 |
$_[0]{'burst_postfix'} // "" |
|
922
|
19748 |
15 |
$self->{'out_buffer'} //= [] |
|
945
|
20002 |
200100 |
($params{'blocking'} // $self->{'write_blocking'}) // 1 |
|
947
|
220106 |
0 |
$self->{'out_buffer'} // (return) |
|
970
|
23 |
820198 |
$self->{'burst_prefix'} // "" |
|
971
|
23 |
820198 |
$self->{'burst_postfix'} // "" |
|
981
|
2 |
235 |
$! == 32 or 0 |
|
986
|
233 |
2 |
$NONBLOCK_ERRNO{0 + $!} or 0 |
|
1004
|
9 |
86 |
$self->{'message_key'} // "" |
|
1005
|
9 |
86 |
$self->{'burst_prefix'} // "" |
|
1006
|
9 |
86 |
$self->{'burst_postfix'} // "" |
|
1019
|
9 |
200116 |
$self->{'message_key'} // "" |
|
1036
|
32 |
46 |
$self->{'out_buffer'} //= [] |
|
1046
|
800104 |
45 |
$self->{'out_buffer'} //= [] |
|
1082
|
700120 |
104 |
$self->{'state'} //= {} |
|
1103
|
2800348 |
1 |
$self->_get_from_buffer($key->{'size'}, "eof_invalid", "EOF before end of message") // (return) |
|
1107
|
2100154 |
700194 |
$state->{'parts'}{$tag} //= [] |
| line |
l |
!l&&r |
!l&&!r |
condition |
|
70
|
0 |
0 |
0 |
$parts[0] > 4 or $parts[0] == 4 and $parts[1] >= 8 |
|
126
|
15 |
24 |
0 |
$self->{'invalid_state'} //= @_ ? shift() : "Unknown Error" |
|
170
|
144236 |
105 |
0 |
$self->{'_select'} //= "IO::Select"->new($rh) |
|
239
|
14 |
8 |
78 |
defined $_[0]{'compression_dictionary'} || defined $_[0]{'compression_dictionary_file'} |
|
268
|
2 |
8 |
0 |
$self->{'_compression_ctx'} //= "Compress::Zstd::CompressionContext"->new |
|
269
|
0 |
10 |
0 |
$self->{'_compression_cdict'} //= $self->_build_cdict |
|
280
|
4 |
8 |
0 |
$self->{'_decompression_ctx'} //= "Compress::Zstd::DecompressionContext"->new |
|
281
|
2 |
10 |
0 |
$self->{'_decompression_ddict'} //= $self->_build_ddict |
|
346
|
6 |
4 |
217 |
defined $params{'compression_dictionary'} || defined $params{'compression_dictionary_file'} |
|
388
|
4 |
0 |
0 |
$class->_fh_mode($ifh) // croak("Could not determine filehandle mode, please specify '>&' or '<&'") |
|
|
9 |
4 |
0 |
$mode //= $class->_fh_mode($ifh) // croak("Could not determine filehandle mode, please specify '>&' or '<&'") |
|
389
|
13 |
0 |
0 |
$class->_mode_to_dir($mode) // croak("Invalid mode: $mode") |
|
403
|
11 |
0 |
0 |
$class->_mode_to_dir($mode) // croak("Invalid mode: $mode") |
|
546
|
194 |
0 |
0 |
$self->{'rh'} // croak("Not a read handle") |
|
548
|
194 |
0 |
0 |
$self->{'burst_prefix'} // croak("missing 'burst_prefix', not in mixed_data_mode") |
|
549
|
194 |
0 |
0 |
$self->{'burst_postfix'} // croak("missing 'burst_postfix', not in mixed_data_mode") |
|
550
|
194 |
0 |
0 |
$self->{'message_key'} // croak("missing 'message_key', not in mixed_data_mode") |
|
564
|
6 |
0 |
48 |
keys %{$$self{'state'}{'buffers'};} || keys %{$$self{'state'}{'parts'};} |
|
566
|
194 |
0 |
185 |
$buffer->{'lines'} or length $buffer->{'lines'} |
|
587
|
0 |
0 |
1 |
$self->{'eof'} or $self->{'in_buffer_size'} > $before |
|
650
|
119 |
0 |
97 |
$self->{'in_buffer_size'} or $self->fill_buffer |
|
686
|
0 |
0 |
0 |
$peek_named_pipe //= 'Win32::API'->new('kernel32', 'PeekNamedPipe', 'NPIPPP', 'N') || die(q[Can't load PeekNamedPipe from kernel32.dll]) |
|
706
|
0 |
0 |
0 |
$set_named_pipe_handle_state //= 'Win32::API'->new('kernel32', 'SetNamedPipeHandleState', 'NPPP', 'N') || die(q[Can't load SetNamedPipeHandleState from kernel32.dll]) |
|
767
|
0 |
0 |
1 |
$r or $w |
|
774
|
0 |
2 |
0 |
$self->{'wh'} // $self->{'rh'} |
|
783
|
9 |
1 |
0 |
$self->{'wh'} // $self->{'rh'} |
|
802
|
3 |
0 |
0 |
$val + 0 || $ONE_MB |
|
866
|
0 |
0 |
48 |
$self->{'hit_epipe'} or $self->{'invalid_state'} |
|
885
|
0 |
14 |
96 |
$_[0]{'delimiter_size'} //= &bytes::length(scalar($_[0]{'burst_prefix'} // "")) + &bytes::length(scalar($_[0]{'burst_postfix'} // "")) |
|
907
|
8 |
1 |
4 |
$self->{'delimiter_size'} // $self->delimiter_size |
|
919
|
19751 |
8 |
6 |
$self->{'delimiter_size'} // $self->delimiter_size |
|
931
|
2 |
24 |
360 |
$self->{'hit_epipe'} or $self->{'invalid_state'} |
|
945
|
4 |
20002 |
200100 |
$params{'blocking'} // $self->{'write_blocking'} |
|
953
|
800191 |
19795 |
233 |
$blocking or defined $got |
|
973
|
23 |
0 |
820198 |
length $prefix or length $postfix |
|
1020
|
200030 |
95 |
0 |
$self->{'adjusted_dsize'} // $self->_adjusted_dsize |
|
1034
|
32 |
1 |
45 |
$self->{'delimiter_size'} // $self->delimiter_size |
|
1045
|
800104 |
4 |
41 |
$self->{'delimiter_size'} // $self->delimiter_size |