Safe Haskell | None |
---|
A simple protocol for sending serializable data over handles
Please note that this is a very simple implementation that works
fine for most of that data, however, the size of the data you might
send at one go is limited to MAX_WORD32 bytes. We use cereal
for
serialization.
- sendData :: Serialize a => Handle -> a -> IO ByteString
- getData :: Serialize a => Handle -> IO a
- getDataSafe :: Serialize a => Handle -> IO (DecodeResult a)
- type DecodeResult a = Either String a
- data ProtocolException
Documentation
sendData :: Serialize a => Handle -> a -> IO ByteStringSource
Send some serialiazable data over a handle.
Returns ByteString
representing the encoded data. May throw
ProtocolException
getData :: Serialize a => Handle -> IO aSource
Read the data from a handle and deserialize it.
May throw ProtocolException
getDataSafe :: Serialize a => Handle -> IO (DecodeResult a)Source
Safe version of getData
that doesn't throw ProtocolException
type DecodeResult a = Either String aSource
Result of the deserialization
data ProtocolException Source
An exception type used by Protocol
ConversionException String | There has been an error during the conversion step |
HandleException IOException | There has been an error while using the handler |