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 2 4 if (not @Timers or $fire_time >= $Timers[-1][0])
332 4 7 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'};}
697 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) { }
777 0 10 if epoll_ctl($Epoll, 1, $fd, $$self{'event_watch'})
788 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 ? :
1118 0 10 if $$self{'closed'}
1123 6 4 if (@{$$self{'read_push_back'};})
1127 4 2 if ($len <= $bytes) { }
1128 4 0 unless @{$$self{'read_push_back'};}
1143 0 4 $bytes > 1048576 ? :
1148 0 4 if (not $res and $! != 11)
1203 0 8 if $$self{'closed'} or not $$self{'sock'}
1208 2 6 unless $val
1209 6 2 if $val
1212 8 0 if ($event != $$self{'event_watch'})
1213 0 8 if ($HaveKQueue) { }
8 0 elsif ($HaveEpoll) { }
1214 0 0 $val ? :
1218 0 8 if epoll_ctl($Epoll, 3, $$self{'fd'}, $event)
1233 0 6 if $$self{'closed'} or not $$self{'sock'}
1238 2 4 unless $val
1239 4 2 if $val
1241 4 2 if ($val and caller ne 'Danga::Socket')
1247 6 0 if ($event != $$self{'event_watch'})
1248 0 6 if ($HaveKQueue) { }
6 0 elsif ($HaveEpoll) { }
1249 0 0 $val ? :
1253 0 6 if epoll_ctl($Epoll, 3, $$self{'fd'}, $event)
1287 0 0 unless ref $self
1301 0 2 unless $$self{'sock'}
1302 0 2 if defined $$self{'peer_ip'}
1305 0 2 unless $pn
1308 0 2 if (length $pn >= 28) { }
1315 0 2 if ($@)
1322 2 0 if (length $iaddr == 4) { }
1339 0 2 unless my $ip = $self->peer_ip_string
1341 0 2 $$self{'peer_v6'} ? :
1353 0 2 unless $$self{'sock'}
1354 0 2 if defined $$self{'local_ip'}
1357 0 2 unless $pn
1374 2 0 $ip ? :
1385 0 0 $$self{'event_watch'} & 1 ? :
0 0 $$self{'event_watch'} & 4 ? :
1387 0 0 $$self{'closed'} ? :
1389 0 0 if ($peer)
1396 0 0 unless $ENV{'DS_DEBUG'}