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'};}; } ) |