curryer-rpc 0.3.0 → 0.3.1
raw patch · 5 files changed
+9/−4 lines, 5 files
Files
- Changelog.markdown +4/−0
- README.markdown +2/−2
- curryer-rpc.cabal +1/−1
- src/Network/RPC/Curryer/Client.hs +1/−0
- src/Network/RPC/Curryer/Server.hs +1/−1
Changelog.markdown view
@@ -1,3 +1,7 @@+# v0.3.1 (2023-10-30)++* enable TCP_NODELAY to reduce intermessage latency+ # v0.3.0 (2023-04-01) * require streamly 0.9.0+
README.markdown view
@@ -17,7 +17,7 @@ ## Code Example -[Server](https://github.com/agentm/curryer/examples/SimpleKeyValueServer.hs):+[Server](examples/SimpleKeyValueServer.hs): ```haskell data SetKey = SetKey String String@@ -41,7 +41,7 @@ ] ``` -[Client](https://github.com/agentm/curryer/examples/SimpleKeyValueClient.hs):+[Client](examples/SimpleKeyValueClient.hs): ```haskell data SetKey = SetKey String String
curryer-rpc.cabal view
@@ -1,5 +1,5 @@ Name: curryer-rpc-Version: 0.3.0+Version: 0.3.1 License: PublicDomain Build-Type: Simple Homepage: https://github.com/agentm/curryer
src/Network/RPC/Curryer/Client.hs view
@@ -35,6 +35,7 @@ IO Connection connect asyncHandlers hostAddr portNum = do sock <- TCP.connect hostAddr portNum+ Socket.setSocketOption sock NoDelay 1 syncmap <- STMMap.newIO asyncThread <- async (clientAsync sock syncmap asyncHandlers) sockLock <- newLock sock
src/Network/RPC/Curryer/Server.hs view
@@ -272,7 +272,7 @@ let handleSock sock = do lockingSocket <- newLock sock drainSocketMessages sock (serverEnvelopeHandler lockingSocket userMsgHandlers serverState)- Stream.unfold (SA.acceptorOnAddr [(ReuseAddr, 1)] mSockLock) (hostaddr, port) + Stream.unfold (SA.acceptorOnAddr [(ReuseAddr, 1), (NoDelay, 1)] mSockLock) (hostaddr, port) & Stream.parMapM id handleSock & Stream.fold FL.drain pure True