packages feed

streaming-commons 0.2.1.1 → 0.2.1.2

raw patch · 5 files changed

+16/−7 lines, 5 filesdep ~base

Dependency ranges changed: base

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # ChangeLog for streaming-commons +## 0.2.1.2++* Update `defaultReadBufferSize` to use system default instead of hardcoded value [#54](https://github.com/fpco/streaming-commons/issues/54)+ ## 0.2.1.1  * Fix a failing test case (invalid `ByteString` copying), does not affect library itself
Data/Streaming/Network.hs view
@@ -94,7 +94,7 @@ import qualified Network.Socket as NS import Data.Streaming.Network.Internal import Control.Concurrent (threadDelay)-import Control.Exception (IOException, try, SomeException, throwIO, bracketOnError)+import Control.Exception (IOException, try, SomeException, throwIO, bracketOnError, bracket) import Network.Socket (Socket, AddrInfo, SocketType) import Network.Socket.ByteString (recv, sendAll) import System.IO.Error (isDoesNotExistError)@@ -108,7 +108,7 @@ import Control.Monad (forever) import Data.IORef (IORef, newIORef, atomicModifyIORef) import Data.Array.Unboxed ((!), UArray, listArray)-import System.IO.Unsafe (unsafePerformIO)+import System.IO.Unsafe (unsafePerformIO, unsafeDupablePerformIO) import System.Random (randomRIO) import System.IO.Error (isFullErrorType, ioeGetErrorType) #if WINDOWS@@ -263,8 +263,10 @@ bindRandomPortUDP :: HostPreference -> IO (Int, Socket) bindRandomPortUDP = bindRandomPortGen NS.Datagram +{-# NOINLINE defaultReadBufferSize #-} defaultReadBufferSize :: Int-defaultReadBufferSize = 32768+defaultReadBufferSize = unsafeDupablePerformIO $+  bracket (NS.socket NS.AF_INET NS.Stream 0) NS.close (\sock -> NS.getSocketOption sock NS.RecvBuffer)  #if !WINDOWS -- | Attempt to connect to the given Unix domain socket path.
README.md view
@@ -4,8 +4,7 @@ Common lower-level functions needed by various streaming data libraries. Intended to be shared by libraries like conduit and pipes. -[![Build Status](https://travis-ci.org/fpco/streaming-commons.svg)](https://travis-ci.org/fpco/streaming-commons)-[![Build status](https://ci.appveyor.com/api/projects/status/gn0gn4po97su2iyk/branch/master?svg=true)](https://ci.appveyor.com/project/snoyberg/streaming-commons/branch/master)+[![Build Status](https://dev.azure.com/fpco/streaming-commons/_apis/build/status/fpco.streaming-commons?branchName=master)](https://dev.azure.com/fpco/streaming-commons/_build/latest?definitionId=2&branchName=master)  Dependencies ------------
streaming-commons.cabal view
@@ -1,5 +1,5 @@ name:                streaming-commons-version:             0.2.1.1+version:             0.2.1.2 synopsis:            Common lower-level functions needed by various streaming data libraries description:         Provides low-dependency functionality commonly needed by various streaming data libraries, such as conduit and pipes. homepage:            https://github.com/fpco/streaming-commons@@ -45,7 +45,7 @@                        Data.Text.Internal.Encoding.Utf16                        Data.Text.Internal.Encoding.Utf32 -  build-depends:       base >= 4.7 && < 5+  build-depends:       base >= 4.8 && < 5                      , array                      , async                      , bytestring
test/Data/Streaming/NetworkSpec.hs view
@@ -14,6 +14,10 @@  spec :: Spec spec = do+    describe "getDefaultReadBufferSize" $ do+        it "sanity" $ do+            getReadBufferSize (clientSettingsTCP 8080 "localhost") >= 4096 `shouldBe` True+     describe "getUnassignedPort" $ do         it "sanity" $ replicateM_ 100000 $ do             port <- getUnassignedPort