cereal-conduit- 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 r Source

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 o Source

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

sourcePut :: Monad m => Put -> Producer m ByteString Source

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

conduitPut :: Monad m => Putter a -> Conduit a m ByteString Source

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