greskell-websocket 1.0.0.3 → 1.0.0.4
raw patch · 3 files changed
+14/−5 lines, 3 filesdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base
API changes (from Hackage documentation)
- Network.Greskell.WebSocket.Request: [$sel:args:RequestMessage] :: RequestMessage -> !Object
- Network.Greskell.WebSocket.Request: [$sel:op:RequestMessage] :: RequestMessage -> !Text
- Network.Greskell.WebSocket.Request: [$sel:processor:RequestMessage] :: RequestMessage -> !Text
- Network.Greskell.WebSocket.Request: [$sel:requestId:RequestMessage] :: RequestMessage -> !UUID
- Network.Greskell.WebSocket.Request.Session: [$sel:aliases:OpEval] :: OpEval -> !Maybe (HashMap Text Text)
- Network.Greskell.WebSocket.Request.Session: [$sel:batchSize:OpAuthentication] :: OpAuthentication -> !Maybe Int
- Network.Greskell.WebSocket.Request.Session: [$sel:batchSize:OpClose] :: OpClose -> !Maybe Int
- Network.Greskell.WebSocket.Request.Session: [$sel:batchSize:OpEval] :: OpEval -> !Maybe Int
- Network.Greskell.WebSocket.Request.Session: [$sel:bindings:OpEval] :: OpEval -> !Maybe Object
- Network.Greskell.WebSocket.Request.Session: [$sel:force:OpClose] :: OpClose -> !Maybe Bool
- Network.Greskell.WebSocket.Request.Session: [$sel:gremlin:OpEval] :: OpEval -> !Text
- Network.Greskell.WebSocket.Request.Session: [$sel:language:OpEval] :: OpEval -> !Maybe Text
- Network.Greskell.WebSocket.Request.Session: [$sel:manageTransaction:OpEval] :: OpEval -> !Maybe Bool
- Network.Greskell.WebSocket.Request.Session: [$sel:sasl:OpAuthentication] :: OpAuthentication -> !Base64
- Network.Greskell.WebSocket.Request.Session: [$sel:saslMechanism:OpAuthentication] :: OpAuthentication -> !SASLMechanism
- Network.Greskell.WebSocket.Request.Session: [$sel:scriptEvaluationTimeout:OpEval] :: OpEval -> !Maybe Int
- Network.Greskell.WebSocket.Request.Session: [$sel:session:OpClose] :: OpClose -> !SessionID
- Network.Greskell.WebSocket.Request.Session: [$sel:session:OpEval] :: OpEval -> !SessionID
- Network.Greskell.WebSocket.Request.Standard: [$sel:aliases:OpEval] :: OpEval -> !Maybe (HashMap Text Text)
- Network.Greskell.WebSocket.Request.Standard: [$sel:batchSize:OpAuthentication] :: OpAuthentication -> !Maybe Int
- Network.Greskell.WebSocket.Request.Standard: [$sel:batchSize:OpEval] :: OpEval -> !Maybe Int
- Network.Greskell.WebSocket.Request.Standard: [$sel:bindings:OpEval] :: OpEval -> !Maybe Object
- Network.Greskell.WebSocket.Request.Standard: [$sel:gremlin:OpEval] :: OpEval -> !Text
- Network.Greskell.WebSocket.Request.Standard: [$sel:language:OpEval] :: OpEval -> !Maybe Text
- Network.Greskell.WebSocket.Request.Standard: [$sel:sasl:OpAuthentication] :: OpAuthentication -> !Base64
- Network.Greskell.WebSocket.Request.Standard: [$sel:saslMechanism:OpAuthentication] :: OpAuthentication -> !SASLMechanism
- Network.Greskell.WebSocket.Request.Standard: [$sel:scriptEvaluationTimeout:OpEval] :: OpEval -> !Maybe Int
+ Network.Greskell.WebSocket.Request: [args] :: RequestMessage -> !Object
+ Network.Greskell.WebSocket.Request: [op] :: RequestMessage -> !Text
+ Network.Greskell.WebSocket.Request: [processor] :: RequestMessage -> !Text
+ Network.Greskell.WebSocket.Request: [requestId] :: RequestMessage -> !UUID
+ Network.Greskell.WebSocket.Request.Session: [aliases] :: OpEval -> !Maybe (HashMap Text Text)
+ Network.Greskell.WebSocket.Request.Session: [batchSize] :: OpClose -> !Maybe Int
+ Network.Greskell.WebSocket.Request.Session: [bindings] :: OpEval -> !Maybe Object
+ Network.Greskell.WebSocket.Request.Session: [force] :: OpClose -> !Maybe Bool
+ Network.Greskell.WebSocket.Request.Session: [gremlin] :: OpEval -> !Text
+ Network.Greskell.WebSocket.Request.Session: [language] :: OpEval -> !Maybe Text
+ Network.Greskell.WebSocket.Request.Session: [manageTransaction] :: OpEval -> !Maybe Bool
+ Network.Greskell.WebSocket.Request.Session: [saslMechanism] :: OpAuthentication -> !SASLMechanism
+ Network.Greskell.WebSocket.Request.Session: [sasl] :: OpAuthentication -> !Base64
+ Network.Greskell.WebSocket.Request.Session: [scriptEvaluationTimeout] :: OpEval -> !Maybe Int
+ Network.Greskell.WebSocket.Request.Session: [session] :: OpClose -> !SessionID
+ Network.Greskell.WebSocket.Request.Standard: [aliases] :: OpEval -> !Maybe (HashMap Text Text)
+ Network.Greskell.WebSocket.Request.Standard: [batchSize] :: OpEval -> !Maybe Int
+ Network.Greskell.WebSocket.Request.Standard: [bindings] :: OpEval -> !Maybe Object
+ Network.Greskell.WebSocket.Request.Standard: [gremlin] :: OpEval -> !Text
+ Network.Greskell.WebSocket.Request.Standard: [language] :: OpEval -> !Maybe Text
+ Network.Greskell.WebSocket.Request.Standard: [saslMechanism] :: OpAuthentication -> !SASLMechanism
+ Network.Greskell.WebSocket.Request.Standard: [sasl] :: OpAuthentication -> !Base64
+ Network.Greskell.WebSocket.Request.Standard: [scriptEvaluationTimeout] :: OpEval -> !Maybe Int
Files
- ChangeLog.md +5/−0
- greskell-websocket.cabal +4/−4
- src/Network/Greskell/WebSocket/Connection/Impl.hs +5/−1
ChangeLog.md view
@@ -1,5 +1,10 @@ # Revision history for greskell-websocket +## 1.0.0.4 -- 2025-01-30++* Fix the bug where greskell-websocket didn't work at all with `async-2.2.5`. (see https://github.com/debug-ito/greskell/pull/17 )+* Support ghc-9.12 (base-4.21).+ ## 1.0.0.3 -- 2024-11-21 * Confirm test with `hashtable-1.4`.
greskell-websocket.cabal view
@@ -1,5 +1,5 @@ name: greskell-websocket-version: 1.0.0.3+version: 1.0.0.4 author: Toshio Ito <debug.ito@gmail.com> maintainer: Toshio Ito <debug.ito@gmail.com> license: BSD3@@ -43,7 +43,7 @@ Network.Greskell.WebSocket.Connection.Type, Network.Greskell.WebSocket.Client.Impl, Network.Greskell.WebSocket.Util- build-depends: base ^>=4.13.0 || ^>=4.14.0 || ^>=4.15.0 || ^>=4.16.0 || ^>=4.17.0 || ^>=4.18.0 || ^>=4.19.0 || ^>=4.20.0,+ build-depends: base ^>=4.13.0 || ^>=4.14.0 || ^>=4.15.0 || ^>=4.16.0 || ^>=4.17.0 || ^>=4.18.0 || ^>=4.19.0 || ^>=4.20.0 || ^>=4.21.0, greskell-core ^>=1.0.0, bytestring ^>=0.10.9 || ^>=0.11.3 || ^>=0.12.0, base64-bytestring ^>=1.2.1,@@ -80,7 +80,7 @@ other-modules: Network.Greskell.WebSocket.Codec.JSONSpec, Network.Greskell.WebSocket.ResponseSpec build-tool-depends: hspec-discover:hspec-discover- build-depends: base ^>=4.13.0 || ^>=4.14.0 || ^>=4.15.0 || ^>=4.16.0 || ^>=4.17.0 || ^>=4.18.0 || ^>=4.19.0 || ^>=4.20.0,+ build-depends: base ^>=4.13.0 || ^>=4.14.0 || ^>=4.15.0 || ^>=4.16.0 || ^>=4.17.0 || ^>=4.18.0 || ^>=4.19.0 || ^>=4.20.0 || ^>=4.21.0, greskell-websocket, aeson ^>=2.0.2 || ^>=2.1.0 || ^>=2.2.3, uuid ^>=1.3.15,@@ -110,7 +110,7 @@ ServerTest.Connection, ServerTest.Client if flag(server-test)- build-depends: base ^>=4.13.0 || ^>=4.14.0 || ^>=4.15.0 || ^>=4.16.0 || ^>=4.17.0 || ^>=4.18.0 || ^>=4.19.0 || ^>=4.20.0,+ build-depends: base ^>=4.13.0 || ^>=4.14.0 || ^>=4.15.0 || ^>=4.16.0 || ^>=4.17.0 || ^>=4.18.0 || ^>=4.19.0 || ^>=4.20.0 || ^>=4.21.0, greskell-websocket, greskell-core ^>=1.0.0, aeson ^>=2.0.2 || ^>=2.1.0 || ^>=2.2.3,
src/Network/Greskell/WebSocket/Connection/Impl.hs view
@@ -262,7 +262,7 @@ <|> (EvRes <$> readTQueue qres) <|> makeEvActiveClose <|> (rxResultToEvent <$> waitCatchSTM rx_thread)- <|> (timeoutToEvent <$> waitAnySTM res_timers)+ <|> waitResponseTimeout res_timers where max_concurrency = Settings.concurrency settings cur_concurrency = length res_timers@@ -278,6 +278,10 @@ else do conn_state <- readConnState if conn_state == ConnOpen then empty else return EvActiveClose+ waitResponseTimeout timers =+ if null timers+ then empty+ else timeoutToEvent <$> waitAnySTM timers handleReq req = do insert_ok <- tryInsertToReqPool req_pool rid makeNewEntry if insert_ok