-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Zlib compression and decompression for Pipes streams
--   
--   Zlib compression and decompression for Pipes streams
@package pipes-zlib
@version 0.4.0.1

-- | This module exports utilities to compress and decompress
--   pipes streams using the zlib compression codec.
module Pipes.Zlib

-- | Decompress bytes flowing from a Producer.
--   
--   See the Codec.Compression.Zlib module for details about
--   WindowBits.
decompress :: MonadIO m => WindowBits -> Producer' ByteString m r -> Producer' ByteString m r

-- | Compress bytes flowing from a Producer.
--   
--   See the Codec.Compression.Zlib module for details about
--   CompressionLevel and WindowBits.
compress :: MonadIO m => CompressionLevel -> WindowBits -> Producer' ByteString m r -> Producer' ByteString m r

-- | The default compression level is 6 (that is, biased towards higher
--   compression at expense of speed).
defaultCompression :: CompressionLevel

-- | No compression, just a block copy.
noCompression :: CompressionLevel

-- | The fastest compression method (less compression)
bestSpeed :: CompressionLevel

-- | The slowest compression method (best compression).
bestCompression :: CompressionLevel

-- | A specific compression level between 0 and 9.
compressionLevel :: Int -> CompressionLevel

-- | The default WindowBits is 15 which is also the maximum size.
defaultWindowBits :: WindowBits

-- | A specific compression window size, specified in bits in the range
--   8..15
windowBits :: Int -> WindowBits
