| line |
true |
false |
branch |
|
170
|
0 |
12 |
if (exists $Net::Gen::_missing{$Net::Gen::AUTOLOAD}) |
|
172
|
0 |
0 |
if $wh and ref $wh eq 'CODE' and $wh == $nullsub |
|
176
|
0 |
12 |
if (@_ and ref $_[0] and @_ < 3 and exists ${*{$_[0];};}{'Keys'}{$constname}) |
|
179
|
0 |
0 |
if $Net::Gen::adebug |
|
186
|
0 |
12 |
if $Net::Gen::adebug |
|
223
|
0 |
4 |
if @_ != 3 or ref $opts ne 'HASH' |
|
230
|
0 |
4 |
if ref $class |
|
236
|
14 |
48 |
if exists $Net::Gen::_missing{"${class}::$opt"} |
|
238
|
0 |
48 |
if $@ or not defined $oval or $oval eq '' |
|
309
|
0 |
0 |
if ref $this |
|
312
|
0 |
0 |
if defined $newval |
|
320
|
347 |
0 |
if defined wantarray |
|
321
|
0 |
347 |
if defined $newval |
|
331
|
169 |
22 |
unless defined $msg |
|
332
|
0 |
0 |
unless $aref |
|
|
0 |
191 |
if $level and $this->_debug >= $level |
|
341
|
0 |
8 |
unless defined $val |
|
342
|
0 |
8 |
if $val eq '' or $val =~ /\D/ |
|
359
|
0 |
0 |
if @_ > 3 |
|
361
|
0 |
0 |
if defined wantarray |
|
362
|
0 |
0 |
if @_ > 2 |
|
370
|
0 |
19 |
unless defined $newval |
|
373
|
0 |
19 |
unless defined ${*$self;}{'Parms'}{$what} |
|
374
|
17 |
2 |
if ($newval) { } |
|
376
|
9 |
8 |
if (defined $F_GETFL and defined $F_SETFL and defined $nonblock_flag and $self->isopen) |
|
379
|
2 |
7 |
if ((CORE::fcntl($self, $F_GETFL, 0) & 2048) == 2048) |
|
384
|
0 |
2 |
unless eval {
do {
CORE::fcntl $self, $F_SETFL, CORE::fcntl($self, $F_GETFL, 0) & 18446744073709549567
}
} |
|
392
|
0 |
2 |
unless (defined $F_GETFL and defined $F_SETFL and defined $nonblock_flag) |
|
397
|
2 |
0 |
if ($self->isopen) |
|
398
|
2 |
0 |
if ((CORE::fcntl($self, $F_GETFL, 0) & 2048) != 2048) |
|
403
|
0 |
2 |
unless eval {
do {
CORE::fcntl $self, $F_SETFL, CORE::fcntl($self, $F_GETFL, 0) | 2048
}
} |
|
416
|
0 |
1 |
if @_ > 2 |
|
418
|
1 |
0 |
if defined wantarray |
|
419
|
0 |
1 |
if @_ > 1 |
|
427
|
0 |
3 |
unless (defined $newval) |
|
430
|
0 |
3 |
if (not length $newval or $newval =~ /\D/) { } |
|
456
|
0 |
5 |
if @_ != 2 or ref $names ne 'ARRAY' |
|
472
|
5 |
0 |
if (ref $names eq 'HASH') { } |
|
473
|
0 |
5 |
if @_ != 2 |
|
479
|
0 |
0 |
if @_ < 3 or ref $names ne 'ARRAY' |
|
482
|
0 |
0 |
if @_ == 3 and ref $_[2] eq 'ARRAY' |
|
484
|
0 |
5 |
if @$handlers != @$names or grep((ref $_ ne 'CODE'), @$handlers) |
|
498
|
0 |
3 |
if ref $opts ne 'HASH' |
|
538
|
1 |
6 |
if $parms and ref $parms eq 'HASH' |
|
539
|
7 |
0 |
unless defined $parms{'debug'} |
|
540
|
7 |
0 |
unless defined $parms{'blocking'} |
|
541
|
0 |
1 |
if (@_ > 2 and $parms and ref $parms eq 'HASH') |
|
549
|
5 |
2 |
if (%Keys) { } |
|
560
|
0 |
7 |
if ($class eq 'Net::Gen') |
|
561
|
0 |
0 |
unless ($self->init) |
|
567
|
0 |
7 |
if (($self || $pack)->_debug) |
|
568
|
0 |
0 |
if (defined $self) { } |
|
584
|
0 |
60 |
unless @_ > 1 and ref $newparams eq 'HASH' |
|
586
|
0 |
60 |
if @_ > 4 |
|
592
|
0 |
0 |
defined $newval ? : |
|
|
0 |
167 |
if $self->debug |
|
597
|
0 |
167 |
unless exists ${*$self;}{'Keys'}{$parm} |
|
599
|
5 |
162 |
if $newonly < 0 and defined $$pslot |
|
600
|
83 |
79 |
unless ($check) |
|
604
|
2 |
5 |
if defined $$pslot eq defined $newval and !defined($newval) || $$pslot eq $newval || !($$pslot =~ /\D/ || $newval =~ /\D/) && length $newval && length $$pslot && $$pslot == $newval |
|
615
|
0 |
160 |
if $newonly > 0 and defined $$pslot |
|
618
|
43 |
117 |
if (defined ${*$self;}{'Keys'}{$parm} and ref ${*$self;}{'Keys'}{$parm} eq 'CODE') |
|
622
|
0 |
43 |
if $rval |
|
628
|
0 |
60 |
$errs ? : |
|
639
|
3 |
5 |
unless @k |
|
641
|
0 |
5 |
unless $self->setparams(\%k) |
|
651
|
0 |
8 |
if @_ |
|
654
|
0 |
8 |
unless ref $curparms eq 'HASH' |
|
670
|
7 |
0 |
$self->checkparams ? : |
|
678
|
0 |
36 |
if @_ > 4 |
|
680
|
16 |
20 |
if ($noundef) { } |
|
681
|
1 |
15 |
unless defined ${*$self;}{'Parms'}{$key} |
|
684
|
4 |
16 |
unless exists ${*$self;}{'Parms'}{$key} |
|
694
|
0 |
17 |
if @_ < 2 or not ref $self or ref $aref ne 'ARRAY' |
|
696
|
0 |
17 |
if @_ > 3 |
|
698
|
0 |
17 |
unless defined wantarray |
|
699
|
2 |
15 |
if (wantarray) { } |
|
701
|
0 |
2 |
if ($noundef) { } |
|
703
|
0 |
0 |
defined ${*$self;}{'Parms'}{$_} ? : |
|
709
|
2 |
0 |
exists ${*$self;}{'Parms'}{$_} ? : |
|
716
|
15 |
0 |
if ($noundef) { } |
|
751
|
0 |
6 |
if $self->isopen |
|
753
|
0 |
6 |
unless defined $$pf |
|
754
|
0 |
6 |
unless defined $$af |
|
755
|
0 |
6 |
unless defined $$type |
|
756
|
4 |
2 |
unless defined $$proto |
|
757
|
0 |
6 |
if ($$pf == 0 and $$af != 0) { } |
|
|
0 |
12 |
elsif ($$af == 0 and $$pf != 0) { } |
|
763
|
6 |
0 |
if (${*$self;}{'isopen'} = socket($self, $$pf, $$type, $$proto)) |
|
783
|
0 |
0 |
unless defined $timeout or ${*$self;}{'Parms'}{'blocking'} |
|
788
|
0 |
0 |
if $nfound |
|
791
|
0 |
0 |
unless ($nfound) |
|
798
|
0 |
0 |
if (${*$self;}{'Sockopts'}{'SOL_SOCKET'}{'SO_ERROR'}) |
|
804
|
0 |
0 |
unless defined $rval |
|
806
|
0 |
0 |
if ($rval) |
|
810
|
0 |
0 |
unless defined getpeername $self |
|
819
|
0 |
0 |
if ($type and $type == 1) |
|
822
|
0 |
0 |
unless defined $rval |
|
826
|
0 |
0 |
unless defined getpeername $self |
|
828
|
0 |
0 |
if $rval |
|
829
|
0 |
0 |
if $connok{0 + $!} |
|
837
|
0 |
2 |
if (${*$self;}{'isconnecting'}) |
|
838
|
0 |
0 |
if (${*$self;}{'Parms'}{'dstaddr'} and ${*$self;}{'Parms'}{'dstaddr'} ne $addr) |
|
842
|
0 |
0 |
if ${*$self;}{'Parms'}{'debug'} > 2 |
|
844
|
0 |
0 |
unless $self->open |
|
845
|
0 |
0 |
if ($self->getparam('srcaddr') || $self->getparam('srcaddrlist') and not $self->isbound) |
|
848
|
0 |
0 |
unless $self->bind |
|
856
|
2 |
0 |
unless (${*$self;}{'isconnecting'}) |
|
858
|
1 |
1 |
if (${*$self;}{'Parms'}{'netgen_fakeconnect'}) |
|
859
|
1 |
0 |
if (not $self->isbound) { } |
|
868
|
1 |
0 |
if $rval |
|
869
|
0 |
0 |
if $connok{0 + $!} |
|
870
|
0 |
0 |
unless $connip{0 + $!} |
|
873
|
0 |
0 |
unless defined $timeout |
|
885
|
0 |
2 |
if $$hval{'isconnected'} or not $$hval{'isconnecting'} and $$hval{'wasconnected'} |
|
888
|
0 |
2 |
unless $self->isopen or $self->open |
|
889
|
0 |
0 |
if ($$parms{'srcaddr'} || $$parms{'srcaddrlist'} and not $$hval{'isconnecting'} and not $self->isbound) |
|
892
|
0 |
0 |
unless $self->bind |
|
898
|
1 |
1 |
if (defined($timeout = $$parms{'timeout'}) and $self->blocking) |
|
900
|
0 |
1 |
unless $self->setparams({'blocking', 0}) |
|
903
|
2 |
0 |
if (defined $dlist and ref $dlist eq 'ARRAY' and not $$hval{'isconnecting'}) { } |
|
910
|
2 |
0 |
if $rval |
|
911
|
2 |
0 |
if $rval or defined $timeout and not $timeout and $connip{0 + $!} |
|
919
|
0 |
2 |
unless $rval |
|
923
|
0 |
2 |
unless ($rval) |
|
938
|
2 |
5 |
if defined($dad = getpeername $self) |
|
939
|
7 |
0 |
if defined($sad = getsockname $self) |
|
941
|
2 |
0 |
defined $sad || defined $dad ? : |
|
|
2 |
5 |
wantarray ? : |
|
956
|
2 |
3 |
unless $self->isconnected or $self->isconnecting |
|
958
|
0 |
0 |
unless defined $how and not $how =~ /\D/ and length $how |
|
961
|
0 |
3 |
unless $xhow |
|
968
|
3 |
0 |
if $was == 3 or not defined getpeername $self and ${*$self;}{'wasconnected'} = 3 |
|
982
|
5 |
0 |
if $self->isopen |
|
997
|
1 |
5 |
unless $wasopen |
|
1014
|
0 |
6 |
if @_ < 2 or not ref $self |
|
1016
|
5 |
1 |
unless defined $flags |
|
1017
|
0 |
6 |
if @_ > 4 |
|
1019
|
2 |
4 |
if (not defined $whither || $self->isconnected) { } |
|
|
1 |
4 |
elsif ($self->isconnected and ${*$self;}{'Parms'}{'netgen_fakeconnect'}) { } |
|
1020
|
0 |
2 |
if ($self->getparams(['dstaddrlist', 'dstaddr'], 1) > 0) { } |
|
1021
|
0 |
0 |
unless $self->connect |
|
1022
|
0 |
0 |
if (${*$self;}{'Parms'}{'netgen_fakeconnect'}) |
|
1027
|
0 |
2 |
if ($flags & 1) { } |
|
1038
|
0 |
1 |
if (defined $whither) |
|
1045
|
0 |
6 |
unless $self->isopen |
|
1047
|
4 |
2 |
defined $whither ? : |
|
1075
|
0 |
0 |
unless @_ and ref $self |
|
1080
|
0 |
0 |
unless unpack('I', getsockopt($self, 1, 3)) == 1 |
|
1083
|
0 |
0 |
$F_GETFL ? : |
|
1084
|
0 |
0 |
defined $flags && defined $nonblock_flag ? : |
|
|
0 |
0 |
if (defined $flags && defined $nonblock_flag ? $flags & 2048 : 1) |
|
1100
|
0 |
5 |
unless @_ and ref $self |
|
1102
|
0 |
5 |
if @_ > 4 |
|
1104
|
0 |
5 |
unless $self->isopen or $self->open |
|
1106
|
2 |
3 |
unless $maxlen |
|
1109
|
3 |
2 |
unless defined $flags |
|
1110
|
0 |
5 |
if (defined ${*$self;}{'sockLineBuf'} and not $flags) |
|
1112
|
0 |
0 |
if (length $buf > $maxlen) { } |
|
1119
|
0 |
0 |
if @_ > 3 |
|
1125
|
2 |
3 |
if defined $from and $from eq '' |
|
1126
|
1 |
3 |
if defined $xfrom and $from eq '' and $xfrom ne '' |
|
1128
|
2 |
3 |
if @_ > 3 |
|
1129
|
0 |
5 |
if ($flags & 1) { } |
|
1136
|
0 |
5 |
if not defined $from and 1 |
|
1137
|
5 |
0 |
if length $buf |
|
1141
|
0 |
0 |
unless ($self->ckeof) |
|
1142
|
0 |
0 |
defined $from ? : |
|
1156
|
0 |
2 |
if @_ > 1 |
|
1159
|
0 |
2 |
unless @_ and ref $self |
|
1164
|
0 |
2 |
unless (defined $/) |
|
1169
|
0 |
0 |
if (defined $buf and defined $rval) |
|
1172
|
0 |
0 |
if (defined $buf) |
|
1178
|
0 |
2 |
if $sep eq '' |
|
1181
|
0 |
2 |
unless defined $rval |
|
1182
|
0 |
2 |
if (defined $buf) { } |
|
1189
|
2 |
0 |
if (defined $buf and ($tbuf = index($buf, $sep)) >= 0) { } |
|
1193
|
0 |
2 |
if $/ eq '' |
|
1194
|
0 |
2 |
if length $tbuf |
|
2802
|
0 |
3 |
if $self->wasconnected or $self->isconnected or $self->isconnecting or $self->isbound |
|
2805
|
0 |
3 |
unless $self->isopen or $self->open |
|
2807
|
2 |
1 |
if ${*$self;}{'Parms'}{'reuseaddr'} |
|
2808
|
0 |
3 |
if ${*$self;}{'Parms'}{'reuseport'} |
|
2810
|
3 |
0 |
if (${*$self;}{'Parms'}{'srcaddrlist'}) { } |
|
|
0 |
0 |
elsif (defined ${*$self;}{'Parms'}{'srcaddr'} and length ${*$self;}{'Parms'}{'srcaddr'}) { } |
|
2813
|
0 |
3 |
unless $rval = CORE::bind($self, $tryaddr) |
|
2827
|
0 |
3 |
unless $rval |
|
2853
|
1 |
0 |
unless defined $maxq |
|
2854
|
0 |
1 |
if $maxq =~ /\D/ or not ref $self |
|
2856
|
0 |
1 |
if @_ > 2 |
|
2857
|
0 |
1 |
unless $self->isbound or $self->bind |
|
2859
|
0 |
1 |
unless CORE::listen $self, $maxq |
|
2899
|
0 |
2 |
if ($level =~ /^(0x[\da-f]+|0[0-7]*|[1-9]\d*)$/is) |
|
2901
|
0 |
0 |
substr($level, 0, 1) eq '0' ? : |
|
2904
|
2 |
0 |
if (not $aref) { } |
|
|
0 |
0 |
elsif (ref $aref eq 'HASH') { } |
|
2909
|
0 |
0 |
unless $realp |
|
2911
|
0 |
0 |
unless $what =~ /^(0x[\da-f]+|0[0-7]*|[1-9]\d*)$/is |
|
2912
|
0 |
0 |
substr($what, 0, 1) eq '0' ? : |
|
2916
|
0 |
2 |
unless $level =~ /\D/ |
|
2919
|
0 |
2 |
unless ref ${*$self;}{'Sockopts'}{$level} eq 'HASH' |
|
2920
|
2 |
0 |
if $aref = ${*$self;}{'Sockopts'}{$level}{$what} |
|
2922
|
2 |
0 |
if ref $aref eq 'ARRAY' |
|
2926
|
0 |
0 |
if ($what =~ /^(0x[\da-f]+|0[0-7]*|[1-9]\d*)$/is) |
|
2927
|
0 |
0 |
substr($what, 0, 1) eq '0' ? : |
|
2932
|
0 |
2 |
unless ref $aref eq 'ARRAY' |
|
2978
|
0 |
2 |
unless $aref = shift @args |
|
2982
|
0 |
2 |
if ($realp) { } |
|
2987
|
0 |
2 |
if @args > $$aref[3] |
|
2989
|
0 |
0 |
unless length $rval or $$aref[3] |
|
2991
|
0 |
2 |
if $self->debug > 3 |
|
3046
|
0 |
3 |
unless $self->isopen and defined CORE::fileno $self |
|
3058
|
0 |
2 |
unless $fhvec |
|
3059
|
2 |
0 |
$doread ? : |
|
3060
|
0 |
2 |
$dowrite ? : |
|
3061
|
0 |
2 |
$doxcept ? : |
|
3062
|
0 |
2 |
if $doread and defined ${*$self;}{'sockLineBuf'} |
|
3063
|
0 |
2 |
unless ($nfound, $timeleft) = CORE::select($rvec, $wvec, $xvec, $timer) |
|
3065
|
0 |
0 |
if (defined ${*$self;}{'sockLineBuf'} and $doread and $rvec ne $fhvec) |
|
3070
|
0 |
2 |
wantarray ? : |
|
3174
|
0 |
1 |
if @_ > 1 |
|
3175
|
0 |
1 |
unless $self->didlisten or $self->listen |
|
3177
|
0 |
1 |
unless $ns |
|
3184
|
1 |
0 |
if (defined $timeout and ${*$self;}{'Parms'}{'blocking'}) |
|
3189
|
0 |
1 |
unless (CORE::accept $ns, $self) |
|
3201
|
0 |
1 |
unless ($ns->isconnected) |