Squeak Class Documentation category index | class index  
 
DeflatePlugin
  category: VMConstruction-Plugins
  superclass: InflatePlugin
  subclasses:

No comment. Sorry.

instance methods
  deflating
  compare:with:min:
deflateBlock:chainLength:goodMatch:
findMatch:lastLength:lastMatch:chainLength:goodMatch:
insertStringAt:
updateHash:
updateHashAt:

  encoding
  encodeLiteral:
encodeMatch:distance:
nextZipBits:put:
sendBlock:with:with:with:
shouldFlush

  primitive support
  loadDeflateStreamFrom:
loadZipEncoderFrom:

  primitives
  primitiveDeflateBlock
primitiveDeflateUpdateHashTable
primitiveUpdateGZipCrc32
primitiveZipSendBlock

class methods
  class initialization
  initialize

  translation
  declareCVarsIn:

instance methods
  deflating top  
 

compare:with:min:

Compare the two strings and return the length of matching characters.
minLength is a lower bound for match lengths that will be accepted.
Note: here and matchPos are zero based.


 

deflateBlock:chainLength:goodMatch:

Continue deflating the receiver's collection from blockPosition to lastIndex.
Note that lastIndex must be at least MaxMatch away from the end of collection


 

findMatch:lastLength:lastMatch:chainLength:goodMatch:

Find the longest match for the string starting at here.
If there is no match longer than lastLength return lastMatch/lastLength.
Traverse at most maxChainLength entries in the hash table.
Stop if a match of at least goodMatch size has been found.


 

insertStringAt:

Insert the string at the given start position into the hash table.
Note: The hash value is updated starting at MinMatch-1 since
all strings before have already been inserted into the hash table
(and the hash value is updated as well).


 

updateHash:

Update the running hash value based on the next input byte.
Return the new updated hash value.


 

updateHashAt:

Update the hash value at position here (one based)


  encoding top  
 

encodeLiteral:

Encode the given literal


 

encodeMatch:distance:

Encode the given match of length length starting at dist bytes ahead


 

nextZipBits:put:

Require:
zipCollection, zipCollectionSize, zipPosition,
zipBitBuf, zipBitPos.


 

sendBlock:with:with:with:

Require:
zipCollection, zipCollectionSize, zipPosition,
zipBitBuf, zipBitPos.


 

shouldFlush

Check if we should flush the current block.
Flushing can be useful if the input characteristics change.


  primitive support top  
 

loadDeflateStreamFrom:


 

loadZipEncoderFrom:


  primitives top  
 

primitiveDeflateBlock

Primitive. Deflate the current contents of the receiver.


 

primitiveDeflateUpdateHashTable

Primitive. Update the hash tables after data has been moved by delta.


 

primitiveUpdateGZipCrc32

Primitive. Update a 32bit CRC value.


 

primitiveZipSendBlock


class methods
  class initialization top  
 

initialize

DeflatePlugin initialize


  translation top  
 

declareCVarsIn:

Note: This method must be implemented by all subclasses to declare variables.