krpc 0.6.0.0 → 0.6.1.0
raw patch · 5 files changed
+27/−2 lines, 5 files
Files
- ChangeLog +10/−0
- krpc.cabal +2/−2
- src/Network/KRPC.hs +1/−0
- src/Network/KRPC/Manager.hs +7/−0
- tests/Network/KRPCSpec.hs +7/−0
ChangeLog view
@@ -1,3 +1,13 @@+2014-02-19 Sam Truzjan <pxqr.sta@gmail.com>++ 0.6.0.0++ API changes:++ * Added isActive: this predicate can be used to implement+ MonadActive instance and useful for resource+ initialization/finalization sanity check.+ 2014-01-08 Sam Truzjan <pxqr.sta@gmail.com> 0.6.0.0: Logging + exceptions.
krpc.cabal view
@@ -1,5 +1,5 @@ name: krpc-version: 0.6.0.0+version: 0.6.1.0 license: BSD3 license-file: LICENSE author: Sam Truzjan@@ -32,7 +32,7 @@ type: git location: git://github.com/cobit/krpc.git branch: master- tag: v0.6.0.0+ tag: v0.6.1.0 library default-language: Haskell2010
src/Network/KRPC.hs view
@@ -74,6 +74,7 @@ , newManager , closeManager , withManager+ , isActive , listen -- * Re-exports
src/Network/KRPC/Manager.hs view
@@ -24,6 +24,7 @@ , newManager , closeManager , withManager+ , isActive , listen -- * Queries@@ -191,6 +192,12 @@ maybe (return ()) killThread =<< tryTakeMVar listenerThread -- TODO unblock calls close sock++-- | Check if the manager is still active. Manager becomes active+-- until 'closeManager' called.+isActive :: Manager m -> IO Bool+isActive Manager {..} = liftIO $ isBound sock+{-# INLINE isActive #-} -- | Normally you should use Control.Monad.Trans.Resource.allocate -- function.
tests/Network/KRPCSpec.hs view
@@ -25,6 +25,13 @@ spec :: Spec spec = do+ describe "manager" $ do+ it "is active until closeManager called" $ do+ m <- newManager opts servAddr []+ isActive m `shouldReturn` True+ closeManager m+ isActive m `shouldReturn` False+ describe "query" $ do it "run handlers" $ do let int = 0xabcd :: Int