MCOL-987 Refactor compression interface. #1837
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch changes compression interface. Motivation is to be able to add
new compression methods.
All methods which use static data and do not modify any internal data - become
static,so we can use them without creation of the specific object. This is possible, because
the header specification has not been modified. We still use 2 sections in header, first
one with file meta data, the second one with pointers for compressed chunks.
Methods
compress,uncompress,maxCompressedSize,getUncompressedSize- becomepure virtual, so we can override them for the other compression algos.
Adds method
getChunkMagicNumber, so we can verify chunk magic numberfor each compression algo.
Renames "s/IDBCompressInterface/CompressInterface/g" according to requirement.