| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Data.ProtoLens.Encoding
Description
Functions for encoding and decoding protocol buffer Messages.
TODO: Currently all operations are on strict ByteStrings; we should try to generalize to lazy Bytestrings as well.
- encodeMessage :: Message msg => msg -> ByteString
- buildMessage :: Message msg => msg -> Builder
- buildMessageDelimited :: Message msg => msg -> Builder
- decodeMessage :: Message msg => ByteString -> Either String msg
- decodeMessageOrDie :: Message msg => ByteString -> msg
Documentation
encodeMessage :: Message msg => msg -> ByteString Source #
Encode a message to the wire format as a strict ByteString.
buildMessage :: Message msg => msg -> Builder Source #
Encode a message to the wire format, as part of a Builder.
buildMessageDelimited :: Message msg => msg -> Builder Source #
Encode a message to the wire format, prefixed by its size as a VarInt,
 as part of a Builder.
This can be used to build up streams of messages in the size-delimited format expected by some protocols.
decodeMessage :: Message msg => ByteString -> Either String msg Source #
Decode a message from its wire format.  Returns Left if the decoding
 fails.
decodeMessageOrDie :: Message msg => ByteString -> msg Source #
Decode a message from its wire format. Throws an error if the decoding fails.