File Coverage

blib/lib/Net/Frame/Layer/DNS/RR/AAAA.pm
Criterion Covered Total %
statement 20 30 66.6
branch 1 6 16.6
condition n/a
subroutine 7 10 70.0
pod 6 6 100.0
total 34 52 65.3


line stmt bran cond sub pod time code
1             #
2             # $Id: AAAA.pm 49 2009-05-31 13:15:34Z VinsWorldcom $
3             #
4             package Net::Frame::Layer::DNS::RR::AAAA;
5 6     6   29 use strict; use warnings;
  6     6   11  
  6         178  
  6         27  
  6         9  
  6         144  
6              
7 6     6   26 use Net::Frame::Layer qw(:consts :subs);
  6         11  
  6         1428  
8             our @ISA = qw(Net::Frame::Layer Exporter);
9              
10             our @AS = qw(
11             address
12             );
13             __PACKAGE__->cgBuildIndices;
14             __PACKAGE__->cgBuildAccessorsScalar(\@AS);
15              
16 6     6   33 use Net::Frame::Layer::DNS;
  6         16  
  6         1840  
17              
18             sub new {
19             shift->SUPER::new(
20 1     1 1 166 address => '::1',
21             @_,
22             );
23             }
24              
25 0     0 1 0 sub getLength { 16 }
26              
27             sub pack {
28 2     2 1 122 my $self = shift;
29              
30 2 50       7 $self->raw($self->SUPER::pack('a*',
31             inet6Aton($self->address)
32             )) or return;
33              
34 2         67 return $self->raw;
35             }
36              
37             sub unpack {
38 0     0 1 0 my $self = shift;
39              
40 0         0 $self->address(inet6Ntoa(substr $self->raw, 0, 16));
41              
42 0         0 $self->payload(substr $self->raw, 16);
43              
44 0         0 return $self;
45             }
46              
47             sub encapsulate {
48 0     0 1 0 my $self = shift;
49              
50 0 0       0 return $self->nextLayer if $self->nextLayer;
51              
52 0 0       0 if ($self->payload) {
53 0         0 return 'DNS::RR';
54             }
55              
56 0         0 NF_LAYER_NONE;
57             }
58              
59             sub print {
60 2     2 1 226 my $self = shift;
61              
62 2         10 my $l = $self->layer;
63 2         19 my $buf = sprintf
64             "$l: address:%s",
65             $self->address;
66              
67 2         152 return $buf;
68             }
69              
70             1;
71              
72             __END__