line |
true |
false |
branch |
133
|
1 |
0 |
if ($_ eq '-register') { } |
135
|
1 |
0 |
if defined $AF_INET6 |
151
|
0 |
0 |
if defined $can_disable_v6only |
153
|
0 |
0 |
unless CORE::socket my $testsock, 10, 1, 0 |
156
|
0 |
0 |
if (setsockopt $testsock, 41, 26, 0) { } |
|
0 |
0 |
elsif ($! == 22 or $! == 95) { } |
370
|
10 |
46 |
@_ == 1 ? : |
382
|
0 |
51 |
if exists $arg->{'PeerAddr'} and not exists $arg->{'PeerHost'} |
385
|
5 |
46 |
if exists $arg->{'PeerPort'} and not exists $arg->{'PeerService'} |
388
|
0 |
51 |
if exists $arg->{'LocalAddr'} and not exists $arg->{'LocalHost'} |
391
|
11 |
40 |
if exists $arg->{'LocalPort'} and not exists $arg->{'LocalService'} |
397
|
43 |
59 |
if (defined $arg->{$host}) |
400
|
10 |
33 |
if defined $s |
418
|
0 |
10 |
if (defined $listenqueue and defined $arg->{'PeerHost'} || defined $arg->{'PeerService'} || defined $arg->{'PeerAddrInfo'}) |
423
|
2 |
33 |
if (defined $arg->{'GetAddrInfoFlags'}) { } |
430
|
3 |
32 |
if (defined(my $family = $arg->{'Family'})) |
434
|
19 |
16 |
if (defined(my $type = $arg->{'Type'})) |
438
|
0 |
35 |
if (defined(my $proto = $arg->{'Proto'})) |
439
|
0 |
0 |
unless ($proto =~ /^\d+$/) |
443
|
0 |
0 |
unless defined $protonum |
452
|
16 |
0 |
unless (defined $hints{'socktype'} or defined $hints{'protocol'}) |
459
|
0 |
35 |
if (not defined $hints{'socktype'} and defined $hints{'protocol'}) |
460
|
0 |
0 |
if $hints{'protocol'} == 6 |
461
|
0 |
0 |
if $hints{'protocol'} == 17 |
464
|
1 |
34 |
if (my $info = $arg->{'LocalAddrInfo'}) { } |
|
21 |
13 |
elsif (defined $arg->{'LocalHost'} or defined $arg->{'LocalService'} or 0) { } |
465
|
0 |
1 |
unless ref $info eq 'ARRAY' |
475
|
0 |
21 |
unless (defined $host or defined $service) |
480
|
1 |
20 |
if defined $service and $service =~ s/\((\d+)\)$// |
487
|
1 |
20 |
if ($err and defined $fallback_port) |
491
|
5 |
16 |
if ($err) |
498
|
1 |
29 |
if (my $info = $arg->{'PeerAddrInfo'}) { } |
|
10 |
19 |
elsif (defined $arg->{'PeerHost'} or defined $arg->{'PeerService'}) { } |
499
|
0 |
1 |
unless ref $info eq 'ARRAY' |
503
|
0 |
10 |
unless defined(my $host = $arg->{'PeerHost'}) |
505
|
0 |
10 |
unless defined(my $service = $arg->{'PeerService'}) |
509
|
0 |
10 |
if defined $service and $service =~ s/\((\d+)\)$// |
514
|
0 |
10 |
if ($err and defined $fallback_port) |
518
|
0 |
10 |
if ($err) |
528
|
1 |
29 |
if $arg->{'ReuseAddr'} |
529
|
1 |
29 |
if $arg->{'ReusePort'} |
530
|
1 |
29 |
if $arg->{'Broadcast'} |
532
|
1 |
29 |
if (my $sockopts = $arg->{'Sockopts'}) |
533
|
0 |
1 |
unless ref $sockopts eq 'ARRAY' |
535
|
0 |
1 |
unless ref $_ eq 'ARRAY' |
536
|
0 |
1 |
unless @$_ >= 2 and @$_ <= 3 |
542
|
1 |
0 |
unless defined $value |
548
|
27 |
3 |
unless defined $blocking |
555
|
0 |
30 |
if (defined $arg->{'MultiHomed'} and not $arg->{'MultiHomed'}) |
560
|
17 |
13 |
@localinfos ? : |
561
|
11 |
19 |
@peerinfos ? : |
563
|
0 |
17 |
if defined $local->{'family'} and defined $peer->{'family'} and $local->{'family'} != $peer->{'family'} |
565
|
0 |
17 |
if defined $local->{'socktype'} and defined $peer->{'socktype'} and $local->{'socktype'} != $peer->{'socktype'} |
567
|
0 |
17 |
if defined $local->{'protocol'} and defined $peer->{'protocol'} and $local->{'protocol'} != $peer->{'protocol'} |
569
|
2 |
28 |
unless my $family = $local->{'family'} || $peer->{'family'} |
570
|
0 |
28 |
unless my $socktype = $local->{'socktype'} || $peer->{'socktype'} |
583
|
2 |
28 |
unless (@infos) |
585
|
1 |
1 |
if (defined $hints{'family'}) { } |
596
|
0 |
1 |
if ($err) |
624
|
0 |
30 |
unless $self->setup or not $blocking |
635
|
1 |
30 |
if do {
*$self
}->{'io_socket_ip_idx'} >= @{do {
*$self
}->{'io_socket_ip_infos'};} |
640
|
0 |
30 |
unless $self->socket(@{$info;}{'family', 'socktype', 'protocol'}) |
642
|
3 |
27 |
unless do {
*$self
}->{'io_socket_ip_blocking'} |
646
|
0 |
4 |
unless $self->setsockopt($level, $optname, $value) |
649
|
0 |
0 |
if (defined do {
*$self
}->{'io_socket_ip_v6only'} and defined $AF_INET6 and $info->{'family'} == $AF_INET6) |
651
|
0 |
0 |
unless $self->setsockopt(41, 26, pack('i', $v6only)) |
654
|
17 |
13 |
if (defined(my $addr = $info->{'localaddr'})) |
656
|
0 |
17 |
unless $self->bind($addr) |
659
|
10 |
20 |
if (defined(my $listenqueue = do {
*$self
}->{'io_socket_ip_listenqueue'})) |
660
|
0 |
10 |
unless $self->listen($listenqueue) |
663
|
11 |
19 |
if (defined(my $addr = $info->{'peeraddr'})) |
664
|
8 |
3 |
if ($self->connect($addr)) |
669
|
3 |
0 |
if ($! == 115 or $! == 11) |
679
|
0 |
0 |
unless $! |
704
|
13 |
5 |
if (@_) |
711
|
12 |
1 |
unless defined $timeout |
715
|
0 |
1 |
defined CORE::connect($self, $addr) ? : |
717
|
0 |
1 |
if (not $err) { } |
|
0 |
1 |
elsif (not $err == 115 || $err == 11) { } |
|
0 |
1 |
elsif (not $was_blocking) { } |
733
|
0 |
1 |
unless (select undef, $vec, $vec, $timeout) |
741
|
0 |
1 |
if $err == 106 |
745
|
0 |
1 |
if $err |
749
|
0 |
5 |
unless do {
*$self
}->{'io_socket_ip_connect_in_progress'} |
752
|
1 |
4 |
if (my $errno = $self->getsockopt(1, 4)) |
764
|
2 |
2 |
if (CORE::connect $self, $addr or $! == 106) { } |
795
|
6 |
43 |
unless defined $addr |
798
|
16 |
27 |
if $self->socktype == 2 |
801
|
0 |
43 |
if $err |
811
|
8 |
0 |
if ($family == 2) { } |
|
0 |
0 |
elsif (defined $AF_INET6 and $family == $AF_INET6) { } |
842
|
0 |
0 |
$numeric ? : |
895
|
0 |
0 |
$numeric ? : |
936
|
0 |
5 |
unless my($new, $peer) = $self->SUPER::accept(@_) |
940
|
0 |
5 |
wantarray ? : |
949
|
31 |
2 |
unless defined $self->fileno |
952
|
0 |
2 |
unless CORE::socket my $tmph, $_[0], $_[1], $_[2] |
954
|
0 |
2 |
unless dup2($tmph->fileno, $self->fileno) |
960
|
0 |
22 |
if (eval $IO::Socket::VERSION < 1.35) |
964
|
0 |
0 |
unless (defined $type) |
990
|
0 |
1 |
unless $self->sockdomain == 2 |
1121
|
17 |
30 |
if ($addr =~ /\A\[($IPv6_re)\](?::([^\s:]*))?\z/ or $addr =~ /\A([^\s:]*):([^\s:]*)\z/) |
1123
|
13 |
4 |
if defined $2 and length $2 |
1149
|
1 |
3 |
if $host =~ /:/ |
1151
|
3 |
1 |
if defined $port |