packages feed

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 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