Details
-
Sub-task
-
Status: Resolved
-
Not specified
-
Resolution: Fixed
-
None
-
None
Description
Several of the compression formats e.g. lz4 do not really support streamed/incremental compression. Change the inplace payload compression to support them.
Main idea is to add a flag to indicate whether incremental compression is supported.
if not
keep collecting the uncompressed data
if (compressed-data + new-uncompressed is greater is too big to fit in memory)
recompress whole data and see if it fits.
if yes, keep going
if not, serialize as (compressed-data),(uncompressed-data)
have an optional threshold for not bothering to try recompressing (to reduce the number of times that it will be compressed when it gets close to the end)