File | /project/perl/lib/IO/Compress/Adapter/Deflate.pm |
Statements Executed | 18 |
Statement Execution Time | 2.21ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
0 | 0 | 0 | 0s | 0s | BEGIN | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | adler32 | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | close | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | compr | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | compressedBytes | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | crc32 | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | deflateParams | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | flush | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | mkCompObject | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | reset | IO::Compress::Adapter::Deflate::
0 | 0 | 0 | 0s | 0s | uncompressedBytes | IO::Compress::Adapter::Deflate::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package IO::Compress::Adapter::Deflate ; | ||||
2 | |||||
3 | 3 | 92µs | 1 | 27µs | use strict; # spent 27µs making 1 call to strict::import |
4 | 3 | 81µs | 1 | 117µs | use warnings; # spent 117µs making 1 call to warnings::import |
5 | 3 | 94µs | 1 | 15µs | use bytes; # spent 15µs making 1 call to bytes::import |
6 | |||||
7 | 3 | 406µs | 2 | 966µs | use IO::Compress::Base::Common 2.005 qw(:Status); # spent 732µs making 1 call to Exporter::import
# spent 234µs making 1 call to UNIVERSAL::VERSION |
8 | |||||
9 | 3 | 1.52ms | 2 | 1.15ms | use Compress::Raw::Zlib 2.005 qw(Z_OK Z_FINISH MAX_WBITS) ; # spent 928µs making 1 call to Exporter::import
# spent 219µs making 1 call to UNIVERSAL::VERSION |
10 | 1 | 5µs | our ($VERSION); | ||
11 | |||||
12 | 1 | 6µs | $VERSION = '2.005'; | ||
13 | |||||
14 | sub mkCompObject | ||||
15 | { | ||||
16 | my $crc32 = shift ; | ||||
17 | my $adler32 = shift ; | ||||
18 | my $level = shift ; | ||||
19 | my $strategy = shift ; | ||||
20 | |||||
21 | my ($def, $status) = new Compress::Raw::Zlib::Deflate | ||||
22 | -AppendOutput => 1, | ||||
23 | -CRC32 => $crc32, | ||||
24 | -ADLER32 => $adler32, | ||||
25 | -Level => $level, | ||||
26 | -Strategy => $strategy, | ||||
27 | -WindowBits => - MAX_WBITS; | ||||
28 | |||||
29 | return (undef, "Cannot create Deflate object: $status", $status) | ||||
30 | if $status != Z_OK; | ||||
31 | |||||
32 | return bless {'Def' => $def, | ||||
33 | 'Error' => '', | ||||
34 | } ; | ||||
35 | } | ||||
36 | |||||
37 | sub compr | ||||
38 | { | ||||
39 | my $self = shift ; | ||||
40 | |||||
41 | my $def = $self->{Def}; | ||||
42 | |||||
43 | my $status = $def->deflate($_[0], $_[1]) ; | ||||
44 | $self->{ErrorNo} = $status; | ||||
45 | |||||
46 | if ($status != Z_OK) | ||||
47 | { | ||||
48 | $self->{Error} = "Deflate Error: $status"; | ||||
49 | return STATUS_ERROR; | ||||
50 | } | ||||
51 | |||||
52 | return STATUS_OK; | ||||
53 | } | ||||
54 | |||||
55 | sub flush | ||||
56 | { | ||||
57 | my $self = shift ; | ||||
58 | |||||
59 | my $def = $self->{Def}; | ||||
60 | |||||
61 | my $opt = $_[1] || Z_FINISH; | ||||
62 | my $status = $def->flush($_[0], $opt); | ||||
63 | $self->{ErrorNo} = $status; | ||||
64 | |||||
65 | if ($status != Z_OK) | ||||
66 | { | ||||
67 | $self->{Error} = "Deflate Error: $status"; | ||||
68 | return STATUS_ERROR; | ||||
69 | } | ||||
70 | |||||
71 | return STATUS_OK; | ||||
72 | |||||
73 | } | ||||
74 | |||||
75 | sub close | ||||
76 | { | ||||
77 | my $self = shift ; | ||||
78 | |||||
79 | my $def = $self->{Def}; | ||||
80 | |||||
81 | $def->flush($_[0], Z_FINISH) | ||||
82 | if defined $def ; | ||||
83 | } | ||||
84 | |||||
85 | sub reset | ||||
86 | { | ||||
87 | my $self = shift ; | ||||
88 | |||||
89 | my $def = $self->{Def}; | ||||
90 | |||||
91 | my $status = $def->deflateReset() ; | ||||
92 | $self->{ErrorNo} = $status; | ||||
93 | if ($status != Z_OK) | ||||
94 | { | ||||
95 | $self->{Error} = "Deflate Error: $status"; | ||||
96 | return STATUS_ERROR; | ||||
97 | } | ||||
98 | |||||
99 | return STATUS_OK; | ||||
100 | } | ||||
101 | |||||
102 | sub deflateParams | ||||
103 | { | ||||
104 | my $self = shift ; | ||||
105 | |||||
106 | my $def = $self->{Def}; | ||||
107 | |||||
108 | my $status = $def->deflateParams(@_); | ||||
109 | $self->{ErrorNo} = $status; | ||||
110 | if ($status != Z_OK) | ||||
111 | { | ||||
112 | $self->{Error} = "deflateParams Error: $status"; | ||||
113 | return STATUS_ERROR; | ||||
114 | } | ||||
115 | |||||
116 | return STATUS_OK; | ||||
117 | } | ||||
118 | |||||
119 | |||||
120 | |||||
121 | #sub total_out | ||||
122 | #{ | ||||
123 | # my $self = shift ; | ||||
124 | # $self->{Def}->total_out(); | ||||
125 | #} | ||||
126 | # | ||||
127 | #sub total_in | ||||
128 | #{ | ||||
129 | # my $self = shift ; | ||||
130 | # $self->{Def}->total_in(); | ||||
131 | #} | ||||
132 | |||||
133 | sub compressedBytes | ||||
134 | { | ||||
135 | my $self = shift ; | ||||
136 | |||||
137 | $self->{Def}->compressedBytes(); | ||||
138 | } | ||||
139 | |||||
140 | sub uncompressedBytes | ||||
141 | { | ||||
142 | my $self = shift ; | ||||
143 | $self->{Def}->uncompressedBytes(); | ||||
144 | } | ||||
145 | |||||
146 | |||||
147 | |||||
148 | |||||
149 | sub crc32 | ||||
150 | { | ||||
151 | my $self = shift ; | ||||
152 | $self->{Def}->crc32(); | ||||
153 | } | ||||
154 | |||||
155 | sub adler32 | ||||
156 | { | ||||
157 | my $self = shift ; | ||||
158 | $self->{Def}->adler32(); | ||||
159 | } | ||||
160 | |||||
161 | |||||
162 | 1 | 13µs | 1; | ||
163 | |||||
164 | __END__ | ||||
165 |