File Coverage

blib/lib/Net/Frame/Layer/ICMPv4/Information.pm
Criterion Covered Total %
statement 22 23 95.6
branch 2 4 50.0
condition n/a
subroutine 7 8 87.5
pod 5 5 100.0
total 36 40 90.0


line stmt bran cond sub pod time code
1             #
2             # $Id: Information.pm 53 2012-01-31 20:27:06Z gomor $
3             #
4             package Net::Frame::Layer::ICMPv4::Information;
5 3     3   15863 use strict; use warnings;
  3     3   1641  
  3         179  
  3         16  
  3         15  
  3         125  
6              
7 3     3   1031 use Net::Frame::Layer qw(:consts :subs);
  3         101972  
  3         2155  
8             our @ISA = qw(Net::Frame::Layer);
9              
10             our @AS = qw(
11             identifier
12             sequenceNumber
13             );
14             __PACKAGE__->cgBuildIndices;
15             __PACKAGE__->cgBuildAccessorsScalar(\@AS);
16              
17             sub new {
18             shift->SUPER::new(
19 1     1 1 19 identifier => getRandom16bitsInt(),
20             sequenceNumber => getRandom16bitsInt(),
21             @_,
22             );
23             }
24              
25 0     0 1 0 sub getLength { 4 }
26              
27             sub pack {
28 1     1 1 458 my $self = shift;
29              
30 1 50       5 $self->raw($self->SUPER::pack('nn',
31             $self->identifier, $self->sequenceNumber,
32             )) or return;
33              
34 1         79 return $self->raw;
35             }
36              
37             sub unpack {
38 1     1 1 14 my $self = shift;
39              
40 1 50       5 my ($identifier, $sequenceNumber, $payload) =
41             $self->SUPER::unpack('nn a*', $self->raw)
42             or return;
43              
44 1         34 $self->identifier($identifier);
45 1         12 $self->sequenceNumber($sequenceNumber);
46 1         16 $self->payload($payload);
47              
48 1         11 return $self;
49             }
50              
51             sub print {
52 1     1 1 5 my $self = shift;
53              
54 1         7 my $l = $self->layer;
55 1         14 sprintf "$l: identifier:%d sequenceNumber:%d",
56             $self->identifier, $self->sequenceNumber;
57             }
58              
59             1;
60              
61             __END__