-- 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
--   <tt>pipes</tt> streams using the zlib compression codec.
module Pipes.Zlib

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

-- | Compress bytes flowing from a <a>Producer</a>.
--   
--   See the <a>Codec.Compression.Zlib</a> module for details about
--   <a>CompressionLevel</a> and <a>WindowBits</a>.
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 <a>WindowBits</a> is 15 which is also the maximum size.
defaultWindowBits :: WindowBits

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