| blib/lib/AnyEvent/Handle/UDP.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| condition | 8 | 26 | 30.7 |
| line | !l | l&&!r | l&&r | condition |
|---|---|---|---|---|
| 250 | 2 | 0 | 0 | $self->{'autoflush'} and not @{$self->{'buffers'};} |
| 252 | 0 | 0 | 0 | not defined $ret and $non_fatal{$! + 0} |
| line | l | !l | condition |
|---|---|---|---|
| 29 | 0 | 4 | $args{'receive_size'} || 1500 |
| 0 | 4 | $args{'family'} || 0 | |
| 0 | 4 | $args{'autoflush'} || 0 | |
| 171 | 3 | 0 | setsockopt $fh, 1, 2, 1 or $self->_error(1, "Couldn't set so_reuseaddr: $!") |
| line | l | !l&&r | !l&&!r | condition |
|---|---|---|---|---|
| 29 | 4 | 0 | 0 | $args{'on_recv'} || Carp::croak('on_recv not given') |
| 249 | 0 | 0 | 0 | $cv ||= 'AnyEvent::CondVar'->new |
| 264 | 2 | 0 | 0 | defined $ret or $non_fatal{$! + 0} |
| 291 | 0 | 2 | 0 | $self->{'writer'} ||= &AE::io($self->{'fh'}, 1, sub { if (@{$self->{'buffers'};}) { while (my $entry = shift @{$$self{'buffers'};}) { do { my($msg, $to, $cv) = @{$entry;}; my $ret = $self->_send($msg, $to, $cv); unless (defined $ret) { unshift @{$$self{'buffers'};}, $entry if $self->{'buffers'}; last; } }; }; } else { $self->_drained; }; delete $self->{'writer'} if not @{$self->{'buffers'};}; } ) |