The functions exposed in this module differ from the rest of the library, and operates on stream of data (rather than on single messages). Therefore, the API is more complex, and does not use the
decompress consume their inputs and add (compressed/decompressed) data in the output buffers. It might be necessary to call compress / decompress multiple times to consume the entire input buffer. Note that if there is not enough space left in the output buffer, calling compress / decompress will not consume any input. It's the duty of the caller to check if the input has been entirely consumed.
module Compression : sig ... end
module Decompression : sig ... end