File Coverage

blib/lib/IO/Async/Resolver/DNS/LibResolvImpl.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             # You may distribute under the terms of either the GNU General Public License
2             # or the Artistic License (the same terms as Perl itself)
3             #
4             # (C) Paul Evans, 2011 -- leonerd@leonerd.org.uk
5              
6             package IO::Async::Resolver::DNS::LibResolvImpl;
7              
8 2     2   11 use strict;
  2         13  
  2         63  
9 2     2   10 use warnings;
  2         3  
  2         105  
10              
11             our $VERSION = '0.04';
12              
13 2     2   801 use Net::LibResolv 0.03 qw( res_query res_search class_name2value type_name2value $h_errno );
  0            
  0            
14              
15             sub _resolve
16             {
17             my ( $func, $dname, $class, $type ) = @_;
18             my $pkt = $func->( $dname, class_name2value($class), type_name2value($type) );
19             # We can't easily detect NODATA errors here, so we'll have to let the
20             # higher-level function do it
21             die "$h_errno\n" if !defined $pkt;
22             return $pkt;
23             }
24              
25             sub IO::Async::Resolver::DNS::res_query { _resolve( \&res_query, @_ ) }
26             sub IO::Async::Resolver::DNS::res_search { _resolve( \&res_search, @_ ) }
27              
28             0x55AA;