packages feed

net-mqtt-rpc 0.1.2.1 → 0.2.0.0

raw patch · 2 files changed

+20/−13 lines, 2 filesdep ~net-mqttPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: net-mqtt

API changes (from Hackage documentation)

Files

net-mqtt-rpc.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack ----- hash: 468ed5b7341f379a28bd55450feca3cbb85b8dc12b44f85df9f7cc7771082f7b+-- hash: 3b23271875b2f32d9cd255411974c5c45f97b08b12d300e2e341e73cef64e876  name:           net-mqtt-rpc-version:        0.1.2.1+version:        0.2.0.0 synopsis:       Make RPC calls via an MQTT broker. description:    Please see the README on GitHub at <https://github.com/dustin/net-mqtt-rpc#readme> category:       Network@@ -34,13 +34,16 @@       Paths_net_mqtt_rpc   hs-source-dirs:       src-  default-extensions: OverloadedStrings RecordWildCards NamedFieldPuns+  default-extensions:+      OverloadedStrings+      RecordWildCards+      NamedFieldPuns   ghc-options: -Wall   build-depends:       base >=4.7 && <5     , bytestring     , exceptions-    , net-mqtt >=0.6.2.0 && <0.8.0.0+    , net-mqtt >=0.8.0.0     , random     , stm     , text@@ -53,13 +56,16 @@       Paths_net_mqtt_rpc   hs-source-dirs:       app-  default-extensions: OverloadedStrings RecordWildCards NamedFieldPuns+  default-extensions:+      OverloadedStrings+      RecordWildCards+      NamedFieldPuns   ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall   build-depends:       base >=4.7 && <5     , bytestring     , exceptions-    , net-mqtt >=0.6.2.0 && <0.8.0.0+    , net-mqtt >=0.8.0.0     , net-mqtt-rpc     , network-uri     , optparse-applicative
src/Network/MQTT/RPC.hs view
@@ -5,8 +5,7 @@  module Network.MQTT.RPC (call) where -import           Control.Concurrent.STM (atomically, newTChanIO, readTChan,-                                         writeTChan)+import           Control.Concurrent.STM (atomically, newTChanIO, readTChan, writeTChan) import           Control.Monad          (when) import           Control.Monad.Catch    (bracket, throwM) import           Control.Monad.IO.Class (MonadIO (..))@@ -15,6 +14,7 @@ import qualified Data.Text.Encoding     as TE import qualified Data.UUID              as UUID import           Network.MQTT.Client+import           Network.MQTT.Topic import           System.Random          (randomIO)  blToText :: BL.ByteString -> Text@@ -33,15 +33,16 @@   r <- newTChanIO   corr <- BL.fromStrict . UUID.toASCIIBytes <$> randomIO   subid <- BL.fromStrict . ("$rpc/" <>) . UUID.toASCIIBytes <$> randomIO-  go corr subid r+  Just filt <- pure (mkFilter . blToText $ subid)+  go corr subid filt r -  where go theID theTopic r = bracket reg unreg rt+  where go theID theTopic filt r = bracket reg unreg rt           where reg = do                   atomically $ registerCorrelated mc theID (SimpleCallback cb)-                  subscribe mc [(blToText theTopic, subOptions)] mempty+                  subscribe mc [(filt, subOptions)] mempty                 unreg _ = do                   atomically $ unregisterCorrelated mc theID-                  unsubscribe mc [blToText theTopic] mempty+                  unsubscribe mc [filt] mempty                 cb _ _ m _ = atomically $ writeTChan r m                 rt _ = do                   publishq mc topic req False QoS2 [