File Coverage

blib/lib/Net/Frame/Layer/OSPF/Lsa/Opaque.pm
Criterion Covered Total %
statement 19 24 79.1
branch 2 4 50.0
condition n/a
subroutine 7 9 77.7
pod 5 5 100.0
total 33 42 78.5


line stmt bran cond sub pod time code
1             #
2             # $Id: Opaque.pm 73 2015-01-14 06:42:49Z gomor $
3             #
4             package Net::Frame::Layer::OSPF::Lsa::Opaque;
5 14     14   4772 use strict; use warnings;
  14     14   21  
  14         513  
  14         68  
  14         20  
  14         442  
6              
7 14     14   508 use Net::Frame::Layer qw(:consts :subs);
  14         52424  
  14         3464  
8             our @ISA = qw(Net::Frame::Layer);
9              
10             our @AS = qw(
11             data
12             );
13             __PACKAGE__->cgBuildIndices;
14             __PACKAGE__->cgBuildAccessorsScalar(\@AS);
15              
16 14     14   559 use Net::Frame::Layer::OSPF qw(:consts);
  14         21  
  14         6164  
17              
18             sub new {
19             shift->SUPER::new(
20 1     1 1 60 data => '',
21             @_,
22             );
23             }
24              
25 0     0 1 0 sub getLength { length(shift()->data) }
26              
27             sub pack {
28 1     1 1 182 my $self = shift;
29              
30 1 50       6 $self->raw($self->SUPER::pack('a*',
31             $self->data,
32             )) or return undef;
33              
34 0         0 $self->raw;
35             }
36              
37             sub unpack {
38 1     1 1 58 my $self = shift;
39              
40 1 50       3 my ($data) = $self->SUPER::unpack('a*', $self->raw)
41             or return undef;
42              
43 1         29 $self->data($data);
44              
45 1         7 $self;
46             }
47              
48             sub print {
49 0     0 1   my $self = shift;
50              
51 0           my $l = $self->layer;
52 0           sprintf
53             "$l: data:%s",
54             CORE::unpack('H*', $self->data),
55             ;
56             }
57              
58             1;
59              
60             __END__