packages feed

potoki-core 2.2 → 2.2.1

raw patch · 3 files changed

+24/−3 lines, 3 filesnew-uploader

Files

library/Potoki/Core/Fetch.hs view
@@ -22,6 +22,7 @@   finiteMVar,   vector,   handlingElements,+  lazyByteStringRef, ) where @@ -30,7 +31,8 @@ import qualified Data.Vector as C import qualified Data.ByteString as D import qualified Data.Text.IO as A-+import qualified Data.ByteString.Lazy as B+import qualified Data.ByteString.Lazy.Internal as B  deriving instance Functor Fetch @@ -280,4 +282,14 @@     case mbElement of       Just element -> xRay element $> mbElement       Nothing -> return Nothing-    ++{-# INLINE lazyByteStringRef #-}+lazyByteStringRef :: IORef B.ByteString -> Fetch ByteString+lazyByteStringRef ref =+  Fetch $ do+    lazyByteString <- readIORef ref+    case lazyByteString of+      B.Chunk chunk remainders -> do+        writeIORef ref remainders+        return (Just chunk)+      B.Empty -> return Nothing
library/Potoki/Core/Produce.hs view
@@ -12,6 +12,7 @@   directoryContents,   finiteMVar,   infiniteMVar,+  lazyByteString, ) where @@ -22,6 +23,7 @@ import qualified Data.Vector as C import qualified System.Directory as G import qualified Acquire.Acquire as M+import qualified Data.ByteString.Lazy as D   deriving instance Functor Produce@@ -208,3 +210,10 @@ infiniteMVar :: MVar element -> Produce element infiniteMVar var =   Produce $ M.Acquire (return (A.infiniteMVar var, return ()))++{-# INLINE lazyByteString #-}+lazyByteString :: D.ByteString -> Produce ByteString+lazyByteString lbs =+  Produce $ M.Acquire $ do+    ref <- newIORef lbs+    return (A.lazyByteStringRef ref, return ())
potoki-core.cabal view
@@ -1,7 +1,7 @@ name:   potoki-core version:-  2.2+  2.2.1 synopsis:   Low-level components of "potoki" description: