conduit-extra-1.1.9.2: Batteries included conduit: adapters for common libraries.

Safe Haskell | None
Language | Haskell98

Data.Conduit.Zlib

Contents

- Conduits
- Flushing
- Re-exported from zlib-bindings

Description

Streaming compression and decompression using conduits.

Parts of this code were taken from zlib-enum and adapted for conduits.

Synopsis

- compress :: (MonadBase base m, PrimMonad base, MonadThrow m) => Int -> WindowBits -> Conduit ByteString m ByteString
- decompress :: (MonadBase base m, PrimMonad base, MonadThrow m) => WindowBits -> Conduit ByteString m ByteString
- gzip :: (MonadThrow m, MonadBase base m, PrimMonad base) => Conduit ByteString m ByteString
- ungzip :: (MonadBase base m, PrimMonad base, MonadThrow m) => Conduit ByteString m ByteString
- compressFlush :: (MonadBase base m, PrimMonad base, MonadThrow m) => Int -> WindowBits -> Conduit (Flush ByteString) m (Flush ByteString)
- decompressFlush :: (MonadBase base m, PrimMonad base, MonadThrow m) => WindowBits -> Conduit (Flush ByteString) m (Flush ByteString)
- data WindowBits :: * = WindowBits Int
- defaultWindowBits :: WindowBits

# Conduits

compress Source

Arguments

:: (MonadBase base m, PrimMonad base, MonadThrow m) |
=> Int | Compression level
-> WindowBits | Zlib parameter (see the zlib-bindings package as well as the zlib C library)
-> Conduit ByteString m ByteString |

Compress (deflate) a stream of `ByteString`s. The `WindowBits` also control the format (zlib vs. gzip).

decompress Source

Arguments

:: (MonadBase base m, PrimMonad base, MonadThrow m) |
=> WindowBits | Zlib parameter (see the zlib-bindings package as well as the zlib C library)
-> Conduit ByteString m ByteString |

Decompress (inflate) a stream of `ByteString`s. For example:

       sourceFile "test.z" $= decompress defaultWindowBits $$ sinkFile "test"

gzip :: (MonadThrow m, MonadBase base m, PrimMonad base) => Conduit ByteString m ByteString Source

Gzip compression with default parameters.

ungzip :: (MonadBase base m, PrimMonad base, MonadThrow m) => Conduit ByteString m ByteString Source

Gzip decompression with default parameters.

# Flushing

compressFlush Source

Arguments

:: (MonadBase base m, PrimMonad base, MonadThrow m) |
=> Int | Compression level
-> WindowBits | Zlib parameter (see the zlib-bindings package as well as the zlib C library)
-> Conduit (Flush ByteString) m (Flush ByteString) |

Same as `compress`, but allows you to explicitly flush the stream.

decompressFlush Source

Arguments

:: (MonadBase base m, PrimMonad base, MonadThrow m) |
=> WindowBits | Zlib parameter (see the zlib-bindings package as well as the zlib C library)
-> Conduit (Flush ByteString) m (Flush ByteString) |

Same as `decompress`, but allows you to explicitly flush the stream.

# Re-exported from zlib-bindings

data WindowBits :: *

Constructors

WindowBits Int |

Instances

Eq WindowBits |
Ord WindowBits |
Show WindowBits |
Generic WindowBits |
type Rep WindowBits = D1 D1WindowBits ((:+:) (C1 C1_0WindowBits (S1 NoSelector (Rec0 Int))) (C1 C1_1WindowBits U1)) |

defaultWindowBits :: WindowBits