net-mqtt 0.8.6.2 → 0.8.6.3
raw patch · 3 files changed
+17/−10 lines, 3 filesdep ~QuickCheckdep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: QuickCheck, containers
API changes (from Hackage documentation)
Files
- net-mqtt.cabal +9/−9
- src/Network/MQTT/Client.hs +3/−0
- src/Network/MQTT/Types.hs +5/−1
net-mqtt.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: net-mqtt-version: 0.8.6.2+version: 0.8.6.3 synopsis: An MQTT Protocol Implementation. description: Please see the README on GitHub at <https://github.com/dustin/mqtt-hs#readme> category: Network@@ -38,7 +38,7 @@ hs-source-dirs: src build-depends:- QuickCheck >=2.12.6.1 && <2.15+ QuickCheck >=2.12.6.1 && <2.17 , async >=2.2.1 && <2.3 , attoparsec >=0.13.2 && <0.15 , attoparsec-binary >=0.2 && <1.0@@ -47,7 +47,7 @@ , bytestring >=0.10.8 && <0.13 , conduit >=1.3.1 && <1.5 , conduit-extra >=1.3.0 && <1.5- , containers >=0.5.0 && <0.7+ , containers >=0.5.0 && <0.8 , crypton-connection >=0.3.0 , data-default-class >=0.1.2 , deepseq >=1.4.3.0 && <1.6@@ -68,7 +68,7 @@ app/example ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends:- QuickCheck >=2.12.6.1 && <2.15+ QuickCheck >=2.12.6.1 && <2.17 , async >=2.2.1 && <2.3 , attoparsec >=0.13.2 && <0.15 , attoparsec-binary >=0.2 && <1.0@@ -77,7 +77,7 @@ , bytestring >=0.10.8 && <0.13 , conduit >=1.3.1 && <1.5 , conduit-extra >=1.3.0 && <1.5- , containers >=0.5.0 && <0.7+ , containers >=0.5.0 && <0.8 , crypton-connection >=0.3.0 , data-default-class >=0.1.2 , deepseq >=1.4.3.0 && <1.6@@ -99,7 +99,7 @@ app/mqtt-watch ghc-options: -threaded -rtsopts -eventlog -with-rtsopts=-N build-depends:- QuickCheck >=2.12.6.1 && <2.15+ QuickCheck >=2.12.6.1 && <2.17 , async >=2.2.1 && <2.3 , attoparsec >=0.13.2 && <0.15 , attoparsec-binary >=0.2 && <1.0@@ -108,7 +108,7 @@ , bytestring , conduit >=1.3.1 && <1.5 , conduit-extra >=1.3.0 && <1.5- , containers >=0.5.0 && <0.7+ , containers >=0.5.0 && <0.8 , crypton-connection >=0.3.0 , data-default-class >=0.1.2 , deepseq >=1.4.3.0 && <1.6@@ -138,7 +138,7 @@ ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: HUnit- , QuickCheck >=2.12.6.1 && <2.15+ , QuickCheck >=2.12.6.1 && <2.17 , async >=2.2.1 && <2.3 , attoparsec >=0.13.2 && <0.15 , attoparsec-binary >=0.2 && <1.0@@ -148,7 +148,7 @@ , checkers , conduit >=1.3.1 && <1.5 , conduit-extra >=1.3.0 && <1.5- , containers >=0.5.0 && <0.7+ , containers >=0.5.0 && <0.8 , crypton-connection >=0.3.0 , data-default-class >=0.1.2 , deepseq >=1.4.3.0 && <1.6
src/Network/MQTT/Client.hs view
@@ -97,6 +97,9 @@ -- In high throughput scenarios, slow callbacks may result in a high number of Haskell threads, -- potentially bringing down the entire application when running out of memory. -- Typically faster than `OrderedCallback`.+ -- Use 'System.Mem.setAllocationCounter' and 'System.Mem.enableAllocationLimit'+ -- to restrain the unbounded threads memory use.+ -- Use a simple 'System.Timeout.timeout' to restrain unbounded thread runtime. | SimpleCallback (MQTTClient -> Topic -> BL.ByteString -> [Property] -> IO ()) -- | Callbacks are guaranteed to be invoked in the same order messages are received. -- In high throughput scenarios, slow callbacks may cause the underlying TCP connection to block,
src/Network/MQTT/Types.hs view
@@ -41,7 +41,11 @@ import Data.Word (Word16, Word32, Word8) -- | QoS values for publishing and subscribing.-data QoS = QoS0 | QoS1 | QoS2 deriving (Bounded, Enum, Eq, Show, Ord)+-- cf https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901103+data QoS = QoS0 -- ^ At most once delivered, default. (eg you may get nothing!)+ | QoS1 -- ^ At least once delivered (you may get dups)+ | QoS2 -- ^ Delivered exactly once (NB aws iot core doesn't support this)+ deriving (Bounded, Enum, Eq, Show, Ord) qosW :: QoS -> Word8 qosW = toEnum . fromEnum