File Coverage

blib/lib/Net/DNS/RR/AFSDB.pm
Criterion Covered Total %
statement 37 37 100.0
branch 2 2 100.0
path n/a
condition 2 2 100.0
subroutine 11 11 100.0
pod 2 2 100.0
total 54 54 100.0


line stmt bran path cond sub pod time code
1               package Net::DNS::RR::AFSDB;
2                
3 1       1   5 use strict;
  1           2  
  1           29  
4 1       1   4 use warnings;
  1           2  
  1           70  
5               our $VERSION = (qw$Id: AFSDB.pm 2002 2025-01-07 09:57:46Z willem $)[2];
6                
7 1       1   5 use base qw(Net::DNS::RR);
  1           1  
  1           100  
8                
9                
10               =head1 NAME
11                
12               Net::DNS::RR::AFSDB - DNS AFSDB resource record
13                
14               =cut
15                
16 1       1   5 use integer;
  1           1  
  1           6  
17                
18 1       1   34 use Net::DNS::DomainName;
  1           2  
  1           347  
19                
20                
21               sub _decode_rdata { ## decode rdata from wire-format octet string
22 1       1   2 my ( $self, $data, $offset, @opaque ) = @_;
23                
24 1           2 $self->{subtype} = unpack "\@$offset n", $$data;
25 1           5 $self->{hostname} = Net::DNS::DomainName2535->decode( $data, $offset + 2, @opaque );
26 1           2 return;
27               }
28                
29                
30               sub _encode_rdata { ## encode rdata as wire-format octet string
31 5       5   7 my ( $self, $offset, @opaque ) = @_;
32                
33 5           6 my $hostname = $self->{hostname};
34 5           9 return pack 'n a*', $self->subtype, $hostname->encode( $offset + 2, @opaque );
35               }
36                
37                
38               sub _format_rdata { ## format rdata portion of RR string.
39 2       2   3 my $self = shift;
40                
41 2           3 my $hostname = $self->{hostname};
42 2           3 return join ' ', $self->subtype, $hostname->string;
43               }
44                
45                
46               sub _parse_rdata { ## populate RR from rdata in argument list
47 1       1   64 my ( $self, @argument ) = @_;
48                
49 1           2 for (qw(subtype hostname)) { $self->$_( shift @argument ) }
  2           4  
50 1           2 return;
51               }
52                
53                
54               sub subtype {
55 11       11 1 19 my ( $self, @value ) = @_;
56 11           14 for (@value) { $self->{subtype} = 0 + $_ }
  2           5  
57 11     100     42 return $self->{subtype} || 0;
58               }
59                
60                
61               sub hostname {
62 4       4 1 799 my ( $self, @value ) = @_;
63 4           5 for (@value) { $self->{hostname} = Net::DNS::DomainName2535->new($_) }
  2           9  
64 4 100         16 return $self->{hostname} ? $self->{hostname}->name : undef;
65               }
66                
67                
68               1;
69               __END__