cereal-conduit-0.7.1: Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits

Safe HaskellNone



Turn a Get into a Sink and a Put into a Source These functions are built upno the Data.Conduit.Cereal.Internal functions with default implementations of ErrorHandler and TerminationHandler

The default ErrorHandler and TerminationHandler both throw a GetException.



sinkGet :: MonadThrow m => Get r -> Consumer ByteString m rSource

Convert a Get into a Sink. The Get will be streamed bytes until it returns Done or Fail.

If Get succeed it will return the data read and unconsumed part of the input stream. If the Get fails due to deserialization error or early termination of the input stream it raise an error.

conduitGet :: MonadThrow m => Get o -> Conduit ByteString m oSource

Run a Get repeatedly on the input stream, producing an output stream of whatever the Get outputs.

sourcePut :: Monad m => Put -> Producer m ByteStringSource

Convert a Put into a Source. Runs in constant memory.

conduitPut :: Monad m => Putter a -> Conduit a m ByteStringSource

Run a Putter repeatedly on the input stream, producing a concatenated ByteString stream.