[Pharo-project] [COTDC] 105 - ZipConstants

Stéphane Ducasse stephane.ducasse at inria.fr
Mon Jan 16 13:27:04 EST 2012


excellent!


On Jan 16, 2012, at 4:50 PM, Ben Coman wrote:

> sean at clipperadams.com wrote:
>> 104 classes done
>> 793 classes remaining
>> Continuing in Compression...
>> 
>> Today:  ZipConstants 
>> 
>> Comment Of The Day Contest - One Day One Comment Rules: #1: Each day a not commented class is elected. Each day the best comment will be integrated with name of the author(s). #2: If you cannot comment it, deprecate it. Results: http://code.google.com/p/pharo/wiki/CommentOfTheDayContest
>> 
>> p.s. this message was sent from a pharo image. Did you know you could easily do that?!
>> 
>> 
>>  
> 
> This class defines magic numbers taken from RFC1951 [1b], and also possibly RFC1950 [1a] & RFC1952 [1c].
> It presets some dictionary structures as described at [1a] 8.1.
> 
> A class can import these bindings as 'class variables' by including the following in its class definition:
>  poolDictionaries: 'ZipFileConstants'
> 
> Following are source references to these constants contained within several class side initialization methods. (These might be better spread through out those methods as time permits)
> 
> initializeDeflateConstants
>   WindowSize [2e]"w_size", [2a]"windowBits is the base two logarithm of windowSize where default windowBits=15"
>   WindowMask [2e]"w_mask"
>   MaxDistance [2e]"MAX_DIST"
>   MinMatch [2c]
>   MaxMatch [2c]
>   HashBits [2e]"hash_bits"
>   HashMask [2e]"hash_mask"
>   HashShift [2e]"hash_shift"
> 
> initializeDistanceCodes
>   BaseDistance [2f]
>   DistanceCodes [2f]
> 
> initializeExtraBits
>   ExtraLengthBits [1]3.2.5, [2b]
>   ExtraDistanceBits [1]3.2.5, [2b]
>   ExtraBitLengthBits [2b]
>   BitLengthOrder [1]3.2.7, [2b]
> 
> initializeFixedTrees
>   [1]3.2.6
> 
> initializeWriteStreamConstants
>   MaxBits [2d]
>   MaxBitLengthBits [2b]
>   EndBlock [2b]
>   StoredBlock [2c]
>   FixedBlock [2c]
>   DynamicBlock [2c] [1]3.2.3"BTYPE"
>   NumLiterals
>   MaxLengthCodes [2e]
>   MaxDistCodes [2e]
>   MaxBitLengthCodes [2e]
>   MaxLiteralCodes
>   Repeat3To6 [2b]
>   Repeat3To10 [2b]
>   Repeat11To138 [2b]
> 
> [1a]  "ZLIB Compressed Data Format Specification version 3.3" http://www.ietf.org/rfc/rfc1950.txt
> [1b] "DEFLATE Compressed Data Format Specification version 1.3" http://www.ietf.org/rfc/rfc1951.txt
> [1c] "GZIP file format specification version 4.3" http://www.ietf.org/rfc/rfc1952.txt
> [2] ZLIB Source Code http://zlib.net/zlib-1.2.5.tar.gz
> [2a] zlib.h
> [2b] trees.c
> [2c] zutil.h
> [2d] inftrees.c
> [2e] deflate.h
> [2f] trees.h
> 
> 





More information about the Pharo-dev mailing list