greskell-websocket 0.1.0.0 → 0.1.1.0
raw patch · 7 files changed
+41/−5 lines, 7 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Network.Greskell.WebSocket.Client: drainResults :: ResultHandle v -> IO ()
+ Network.Greskell.WebSocket.Connection: drainResponses :: ResponseHandle s -> IO ()
- Network.Greskell.WebSocket.Codec: Codec :: Text -> (RequestMessage -> ByteString) -> (ByteString -> Either String (ResponseMessage s)) -> Codec s
+ Network.Greskell.WebSocket.Codec: Codec :: Text -> RequestMessage -> ByteString -> ByteString -> Either String (ResponseMessage s) -> Codec s
Files
- ChangeLog.md +11/−0
- greskell-websocket.cabal +1/−1
- src/Network/Greskell/WebSocket/Client.hs +1/−0
- src/Network/Greskell/WebSocket/Client/Impl.hs +9/−1
- src/Network/Greskell/WebSocket/Connection.hs +1/−0
- src/Network/Greskell/WebSocket/Connection/Impl.hs +7/−2
- src/Network/Greskell/WebSocket/Util.hs +11/−1
ChangeLog.md view
@@ -1,5 +1,16 @@ # Revision history for greskell-websocket +## 0.1.1.0 -- 2018-08-17++### Client module++* Add `drainResults` function.++### Connection module++* Add `drainResponses` function.++ ## 0.1.0.0 -- 2018-06-21 * First version. Released on an unsuspecting world.
greskell-websocket.cabal view
@@ -1,5 +1,5 @@ name: greskell-websocket-version: 0.1.0.0+version: 0.1.1.0 author: Toshio Ito <debug.ito@gmail.com> maintainer: Toshio Ito <debug.ito@gmail.com> license: BSD3
src/Network/Greskell/WebSocket/Client.hs view
@@ -21,6 +21,7 @@ nextResult, nextResultSTM, slurpResults,+ drainResults, -- * Exceptions SubmitException(..) ) where
src/Network/Greskell/WebSocket/Client/Impl.hs view
@@ -38,7 +38,7 @@ import qualified Network.Greskell.WebSocket.Request.Standard as ReqStd import Network.Greskell.WebSocket.Response (ResponseCode, ResponseMessage) import qualified Network.Greskell.WebSocket.Response as Res-import Network.Greskell.WebSocket.Util (slurp)+import Network.Greskell.WebSocket.Util (slurp, drain) -- | A client that establishes a connection to the Gremlin Server. You@@ -213,3 +213,11 @@ -- | Get all remaining results from 'ResultHandle'. slurpResults :: ResultHandle v -> IO (Vector v) slurpResults h = slurp $ nextResult h++-- | Similar to 'slurpResults', but this function discards the+-- results. Useful to execute a script whose side-effect is the only+-- thing you care.+--+-- @since 0.1.1.0+drainResults :: ResultHandle v -> IO ()+drainResults h = drain $ nextResult h
src/Network/Greskell/WebSocket/Connection.hs view
@@ -20,6 +20,7 @@ nextResponse, nextResponseSTM, slurpResponses,+ drainResponses, -- * Exceptions GeneralException(..), RequestException(..)
src/Network/Greskell/WebSocket/Connection/Impl.hs view
@@ -51,7 +51,7 @@ ResponseStatus(ResponseStatus, code), isTerminating )-import Network.Greskell.WebSocket.Util (slurp)+import Network.Greskell.WebSocket.Util (slurp, drain) flushTBQueue :: TBQueue a -> STM [a]@@ -438,4 +438,9 @@ slurpResponses :: ResponseHandle s -> IO (Vector (ResponseMessage s)) slurpResponses h = slurp $ nextResponse h -+-- | Similar to 'slurpResponses', but this function discards the+-- responses.+--+-- @since 0.1.1.0+drainResponses :: ResponseHandle s -> IO ()+drainResponses h = drain $ nextResponse h
src/Network/Greskell/WebSocket/Util.hs view
@@ -5,7 +5,8 @@ -- -- __Internal module__. module Network.Greskell.WebSocket.Util- ( slurp+ ( slurp,+ drain ) where import Data.Monoid ((<>))@@ -19,3 +20,12 @@ case mres of Nothing -> return got Just res -> go $! (V.snoc got res)++drain :: Monad m => m (Maybe a) -> m ()+drain act = go+ where+ go = do+ mres <- act+ case mres of+ Nothing -> return ()+ Just _ -> go