Branch Coverage

blib/lib/Danga/Socket.pm
Criterion Covered Total %
branch 125 292 42.8


line true false branch
133 4 0 $^O eq 'linux' ? :
190 2 4 if defined $Epoll and $Epoll >= 0
191 0 6 if defined $KQueue and $KQueue >= 0
223 0 0 if ($opt_bsd_resource)
267 0 0 if (@_)
268 0 0 wantarray ? :
279 0 0 wantarray ? :
322 3 3 if (not @Timers or $fire_time >= $Timers[-1][0])
332 3 4 if ($Timers[$i][0] > $fire_time)
350 0 2 wantarray ? :
357 8 4 if $DoneInit
360 0 4 if ($HAVE_KQUEUE) { }
4 0 elsif (Sys::Syscall::epoll_defined()) { }
363 0 0 if ($HaveKQueue)
370 4 0 if ($HaveEpoll)
375 0 4 if (not $HaveEpoll || $HaveKQueue)
392 1 0 if ($HaveEpoll) { }
0 0 elsif ($HaveKQueue) { }
425 28 21 unless @Timers
432 6 0 if $to_run->[1]
435 1 20 unless @Timers
444 0 20 if $LoopTimeout == -1
448 15 5 if $LoopTimeout < $timeout
458 0 0 if (epoll_ctl($Epoll, 1, $fd, 1) == -1)
484 0 16 unless ($pob)
485 0 0 if (my $code = $OtherFds{$ev->[0]}) { }
499 0 16 if ($DoProfile)
503 0 0 if ($state & 1 and not $pob->{'closed'})
509 0 0 if ($state & 4 and not $pob->{'closed'})
515 0 0 if ($state & 24)
516 0 0 if ($state & 8 and not $pob->{'closed'})
521 0 0 if ($state & 16 and not $pob->{'closed'})
532 3 13 if $state & 1 and not $pob->{'closed'}
533 12 4 if $state & 4 and not $pob->{'closed'}
534 0 15 if ($state & 24)
535 0 0 if $state & 8 and not $pob->{'closed'}
536 0 0 if $state & 16 and not $pob->{'closed'}
539 4 38 unless PostEventLoop()
568 1 5 unless (@poll)
570 0 1 unless PostEventLoop()
575 2 3 unless ($count)
576 0 2 unless PostEventLoop()
583 4 4 unless $state
587 0 4 unless ($pob)
588 0 0 if (my $code = $OtherFds{$fd})
594 3 1 if $state & 1 and not $pob->{'closed'}
595 1 3 if $state & 4 and not $pob->{'closed'}
596 0 4 if $state & 8 and not $pob->{'closed'}
597 0 4 if $state & 16 and not $pob->{'closed'}
600 1 2 unless PostEventLoop()
622 0 0 unless ($pob)
623 0 0 if (my $code = $OtherFds{$fd}) { }
635 0 0 if $filter == IO::KQueue::EVFILT_READ() and not $pob->{'closed'}
636 0 0 if $filter == IO::KQueue::EVFILT_WRITE() and not $pob->{'closed'}
637 0 0 if ($flags == IO::KQueue::EV_EOF() and not $pob->{'closed'})
638 0 0 if ($fflags) { }
645 0 0 unless PostEventLoop()
665 2 4 if (ref $class) { }
668 2 0 if (defined $ref and ref $ref eq 'CODE') { }
675 4 0 defined $ref && ref $ref eq 'CODE' ? :
694 0 6 unless $pob
696 0 6 unless @{$pob->{'read_push_back'};}
698 0 6 unless not $pob->{'closed'} and $pob->{'event_watch'} & 1
729 38 10 if (defined $PostLoopCallback)
754 4 6 unless ref $self
761 0 10 unless $sock and $fd
776 10 0 if ($HaveEpoll) { }
0 0 elsif ($HaveKQueue) { }
778 0 10 if epoll_ctl($Epoll, 1, $fd, $self->{'event_watch'})
789 0 10 if $DescriptorMap{$fd}
810 0 1 unless $self->{'sock'}
811 1 0 if $val == $self->{'corked'}
815 0 0 $val ? :
823 0 0 if ($rv) { }
826 0 0 if ($! == 9 or $! == 88) { }
0 0 elsif ($! == 92 or $!{'ENOTSOCK'} or $!{'EOPNOTSUPP'}) { }
852 0 0 if $self->{'closed'}
870 9 1 if $self->{'closed'}
884 1 0 if ($self->{'sock'})
911 1 0 if ($HaveEpoll and $self->{'fd'})
912 0 1 if (epoll_ctl($Epoll, 2, $self->{'fd'}, $self->{'event_watch'}) != 0)
954 0 0 unless not defined $wtr or UNIVERSAL::isa($wtr, 'CODE')
978 0 2 if $self->{'closed'}
985 2 0 if (defined $data)
986 0 2 ref $data ? :
987 0 2 if ($self->{'write_buf_size'})
989 0 0 ref $bref eq 'SCALAR' ? :
1001 0 2 unless $bref ||= $self->{'write_buf'}[0]
1007 0 2 if ($@)
1008 0 0 if (UNIVERSAL::isa($bref, 'CODE'))
1009 0 0 unless ($need_queue)
1028 0 2 if (my $wtr = $self->{'writer_func'}) { }
1034 0 2 if (not defined $written) { }
0 2 elsif ($written != $to_write) { }
2 0 elsif ($written == $to_write) { }
1035 0 0 if ($! == 32) { }
0 0 elsif ($! == 11) { }
0 0 elsif ($! == 104) { }
1040 0 0 if ($need_queue)
1044 0 0 unless $self->{'event_watch'} & 4
1057 0 0 if ($need_queue)
1072 0 2 if ($self->{'write_set_watch'})
1081 2 0 if $need_queue
1093 0 0 unless $self->{'event_watch'} & 4
1106 0 4 ref $buf ? :
1120 0 10 if $self->{'closed'}
1125 6 4 if (@{$self->{'read_push_back'};})
1129 4 2 if ($len <= $bytes) { }
1130 4 0 unless @{$self->{'read_push_back'};}
1145 0 4 $bytes > 1048576 ? :
1150 0 4 if (not $res and $! != 11)
1205 0 8 if $self->{'closed'} or not $self->{'sock'}
1210 2 6 unless $val
1211 6 2 if $val
1214 8 0 if ($event != $self->{'event_watch'})
1215 0 8 if ($HaveKQueue) { }
8 0 elsif ($HaveEpoll) { }
1216 0 0 $val ? :
1220 0 8 if epoll_ctl($Epoll, 3, $self->{'fd'}, $event)
1235 0 6 if $self->{'closed'} or not $self->{'sock'}
1240 2 4 unless $val
1241 4 2 if $val
1243 4 2 if ($val and caller ne 'Danga::Socket')
1249 6 0 if ($event != $self->{'event_watch'})
1250 0 6 if ($HaveKQueue) { }
6 0 elsif ($HaveEpoll) { }
1251 0 0 $val ? :
1255 0 6 if epoll_ctl($Epoll, 3, $self->{'fd'}, $event)
1289 0 0 unless ref $self
1303 0 2 unless $self->{'sock'}
1304 0 2 if defined $self->{'peer_ip'}
1307 0 2 unless $pn
1310 0 2 if (length $pn >= 28) { }
1317 0 2 if ($@)
1324 2 0 if (length $iaddr == 4) { }
1341 0 2 unless my $ip = $self->peer_ip_string
1344 0 2 $self->{'peer_v6'} ? :
1355 0 2 unless $self->{'sock'}
1356 0 2 if defined $self->{'local_ip'}
1359 0 2 unless $pn
1376 2 0 $ip ? :
1388 0 0 $self->{'event_watch'} & 1 ? :
0 0 $self->{'event_watch'} & 4 ? :
1389 0 0 $self->{'closed'} ? :
1391 0 0 if ($peer)
1398 0 0 unless $ENV{'DS_DEBUG'}