Filename | /usr/local/lib/perl5/site_perl/Net/DNS/RR/A.pm |
Statements | Executed 11 statements in 784µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 56µs | 74µs | BEGIN@9 | Net::DNS::RR::A::
1 | 1 | 1 | 33µs | 50µs | BEGIN@20 | Net::DNS::RR::A::
1 | 1 | 1 | 25µs | 253µs | BEGIN@11 | Net::DNS::RR::A::
1 | 1 | 1 | 21µs | 58µs | BEGIN@10 | Net::DNS::RR::A::
0 | 0 | 0 | 0s | 0s | _decode_rdata | Net::DNS::RR::A::
0 | 0 | 0 | 0s | 0s | _encode_rdata | Net::DNS::RR::A::
0 | 0 | 0 | 0s | 0s | _format_rdata | Net::DNS::RR::A::
0 | 0 | 0 | 0s | 0s | _parse_rdata | Net::DNS::RR::A::
0 | 0 | 0 | 0s | 0s | address | Net::DNS::RR::A::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Net::DNS::RR::A; | ||||
2 | |||||
3 | # | ||||
4 | # $Id: A.pm 1597 2017-09-22 08:04:02Z willem $ | ||||
5 | # | ||||
6 | 1 | 5µs | our $VERSION = (qw$LastChangedRevision: 1597 $)[1]; | ||
7 | |||||
8 | |||||
9 | 2 | 82µs | 2 | 92µs | # spent 74µs (56+18) within Net::DNS::RR::A::BEGIN@9 which was called:
# once (56µs+18µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 9 # spent 74µs making 1 call to Net::DNS::RR::A::BEGIN@9
# spent 18µs making 1 call to strict::import |
10 | 2 | 70µs | 2 | 95µs | # spent 58µs (21+37) within Net::DNS::RR::A::BEGIN@10 which was called:
# once (21µs+37µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 10 # spent 58µs making 1 call to Net::DNS::RR::A::BEGIN@10
# spent 37µs making 1 call to warnings::import |
11 | 2 | 96µs | 2 | 481µs | # spent 253µs (25+228) within Net::DNS::RR::A::BEGIN@11 which was called:
# once (25µs+228µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 11 # spent 253µs making 1 call to Net::DNS::RR::A::BEGIN@11
# spent 228µs making 1 call to base::import |
12 | |||||
13 | =head1 NAME | ||||
14 | |||||
15 | Net::DNS::RR::A - DNS A resource record | ||||
16 | |||||
17 | =cut | ||||
18 | |||||
19 | |||||
20 | 2 | 518µs | 2 | 66µs | # spent 50µs (33+17) within Net::DNS::RR::A::BEGIN@20 which was called:
# once (33µs+17µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 20 # spent 50µs making 1 call to Net::DNS::RR::A::BEGIN@20
# spent 17µs making 1 call to integer::import |
21 | |||||
22 | |||||
23 | sub _decode_rdata { ## decode rdata from wire-format octet string | ||||
24 | my $self = shift; | ||||
25 | my ( $data, $offset ) = @_; | ||||
26 | |||||
27 | $self->{address} = unpack "\@$offset a4", $$data; | ||||
28 | } | ||||
29 | |||||
30 | |||||
31 | sub _encode_rdata { ## encode rdata as wire-format octet string | ||||
32 | my $self = shift; | ||||
33 | |||||
34 | pack 'a4', $self->{address}; | ||||
35 | } | ||||
36 | |||||
37 | |||||
38 | sub _format_rdata { ## format rdata portion of RR string. | ||||
39 | my $self = shift; | ||||
40 | |||||
41 | $self->address; | ||||
42 | } | ||||
43 | |||||
44 | |||||
45 | sub _parse_rdata { ## populate RR from rdata in argument list | ||||
46 | my $self = shift; | ||||
47 | |||||
48 | $self->address(shift); | ||||
49 | } | ||||
50 | |||||
51 | |||||
52 | 1 | 2µs | 1 | 4µs | my $pad = pack 'x4'; # spent 4µs making 1 call to main::CORE:pack |
53 | |||||
54 | sub address { | ||||
55 | my $self = shift; | ||||
56 | my $addr = shift; | ||||
57 | |||||
58 | return join '.', unpack 'C4', $self->{address} . $pad unless defined $addr; | ||||
59 | |||||
60 | # Note: pack masks overlarge values, mostly without warning | ||||
61 | my @part = split /\./, $addr; | ||||
62 | my $last = pop(@part); | ||||
63 | $self->{address} = pack 'C4', @part, (0) x ( 3 - @part ), $last; | ||||
64 | } | ||||
65 | |||||
66 | |||||
67 | 1 | 10µs | 1; | ||
68 | __END__ |