| Copyright | (c) 2013 Leon P Smith |
|---|---|
| License | BSD3 |
| Maintainer | Leon P Smith <leon@melding-monads.com> |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell98 |
Blaze.ByteString.Builder.ByteString
Description
Synopsis
- writeByteString :: ByteString -> Write
- fromByteString :: ByteString -> Builder
- fromByteStringWith :: Int -> ByteString -> Builder
- copyByteString :: ByteString -> Builder
- insertByteString :: ByteString -> Builder
- fromLazyByteString :: ByteString -> Builder
- fromLazyByteStringWith :: Int -> ByteString -> Builder
- copyLazyByteString :: ByteString -> Builder
- insertLazyByteString :: ByteString -> Builder
Strict bytestrings
writeByteString :: ByteString -> Write Source #
Write a strict ByteString to a buffer.
fromByteString :: ByteString -> Builder Source #
Arguments
| :: Int | Maximal number of bytes to copy. |
| -> ByteString | Strict |
| -> Builder | Resulting |
Construct a Builder that copies the strict ByteStrings, if it is
smaller than the treshold, and inserts it directly otherwise.
For example, fromByteStringWith 1024 copies strict ByteStrings whose size
is less or equal to 1kb, and inserts them directly otherwise. This implies
that the average chunk-size of the generated lazy ByteString may be as
low as 513 bytes, as there could always be just a single byte between the
directly inserted 1025 byte, strict ByteStrings.
copyByteString :: ByteString -> Builder Source #
insertByteString :: ByteString -> Builder Source #
Construct a Builder that always inserts the strict ByteString
directly as a chunk.
This implies flushing the output buffer, even if it contains just
a single byte. You should therefore use insertByteString only for large
(> 8kb) ByteStrings. Otherwise, the generated chunks are too
fragmented to be processed efficiently afterwards.
Lazy bytestrings
fromLazyByteString :: ByteString -> Builder Source #
fromLazyByteStringWith :: Int -> ByteString -> Builder Source #
Construct a Builder that uses the thresholding strategy of fromByteStringWith
for each chunk of the lazy ByteString.
copyLazyByteString :: ByteString -> Builder Source #
Construct a Builder that copies the lazy ByteString.
insertLazyByteString :: ByteString -> Builder Source #
Construct a Builder that inserts all chunks of the lazy ByteString
directly.