packages feed

hasbolt 0.1.0.9 → 0.1.1.0

raw patch · 3 files changed

+20/−17 lines, 3 filesdep ~QuickCheckdep ~basedep ~hasboltPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: QuickCheck, base, hasbolt, hspec

API changes (from Hackage documentation)

Files

hasbolt.cabal view
@@ -1,5 +1,5 @@ name: hasbolt-version: 0.1.0.9+version: 0.1.1.0 cabal-version: >=1.10 build-type: Simple license: BSD3@@ -62,10 +62,10 @@     type: exitcode-stdio-1.0     main-is: Spec.hs     build-depends:-        base >=4.9.0.0 && <4.10,-        hasbolt >=0.1.0.9 && <0.2,-        hspec >=2.2.4 && <2.3,-        QuickCheck >=2.8.2 && <2.9,+        base >=4.8 && <5,+        hasbolt >=0.1.1.0 && <0.2,+        hspec >=2.4.1 && <2.5,+        QuickCheck >=2.9.2 && <2.10,         hex >=0.1.2 && <0.2,         text >=1.2.2.1 && <1.3,         containers >=0.5.7.1 && <0.6,
src/Database/Bolt.hs view
@@ -17,3 +17,4 @@ import           Database.Bolt.Value.Type  import           Data.Default                  (Default (..))+
src/Database/Bolt/Connection/Pipe.hs view
@@ -11,12 +11,13 @@ import           Control.Monad.IO.Class             (MonadIO (..)) import           Data.Binary                        (Binary (..)) import           Data.ByteString                    (ByteString)-import qualified Data.ByteString                    as B (concat, length,-                                                          null, splitAt)+import qualified Data.ByteString                    as B (concat, length, null,+                                                          splitAt) import           Data.Maybe                         (fromMaybe) import           Data.Word                          (Word16, Word32) import           Network.Simple.TCP                 (Socket, closeSock,-                                                     connectSock, recv, send)+                                                     connectSock, recv, send,+                                                     sendMany)  -- |Creates new 'Pipe' instance to use all requests through connect :: MonadIO m => BoltCfg -> m Pipe@@ -44,16 +45,17 @@ discardAll pipe = flush pipe RequestDiscardAll >> void (fetch pipe)  flush :: MonadIO m => Pipe -> Request -> m ()-flush pipe request = do let bs = pack $ toStructure request-                        let chunkSize = chunkSizeFor (mcs pipe) bs-                        let chunks = split chunkSize bs-                        let terminal = encodeStrict (0 :: Word16)-                        let sock = connectionSocket pipe-                        forM_ chunks $ \chunk -> do-                          let size = fromIntegral (B.length chunk) :: Word16-                          send sock $ encodeStrict size-                          send sock chunk+flush pipe request = do forM_ chunks $ sendMany sock . mkChunk                         send sock terminal+  where bs        = pack $ toStructure request+        chunkSize = chunkSizeFor (mcs pipe) bs+        chunks    = split chunkSize bs+        terminal  = encodeStrict (0 :: Word16)+        sock      = connectionSocket pipe++        mkChunk :: ByteString -> [ByteString]+        mkChunk chunk = let size = fromIntegral (B.length chunk) :: Word16+                        in  [encodeStrict size, chunk]  fetch :: MonadIO m => Pipe -> m Response fetch pipe = do bs <- B.concat <$> chunks