| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Data.Conduit.Zlib
Description
Streaming compression and decompression using conduits.
Parts of this code were taken from zlib-enum and adapted for conduits.
- 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
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 ByteStrings. The WindowBits also control
the format (zlib vs. gzip).
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 ByteStrings. 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
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.
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 | |
| Show WindowBits | |
| Generic WindowBits | |
| Typeable * WindowBits | |
| type Rep WindowBits = D1 D1WindowBits ((:+:) (C1 C1_0WindowBits (S1 NoSelector (Rec0 Int))) (C1 C1_1WindowBits U1)) |