unliftio-pool 0.1.0.1 → 0.2.0.0
raw patch · 3 files changed
+54/−54 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Unlift.Pool: createPool :: MonadUnliftIO m => m a -> (a -> m ()) -> Int -> NominalDiffTime -> Int -> m (Pool a)
- Unlift.Pool: destroyAllResources :: MonadUnliftIO m => Pool a -> m ()
- Unlift.Pool: destroyResource :: MonadUnliftIO m => Pool a -> LocalPool a -> a -> m ()
- Unlift.Pool: putResource :: MonadUnliftIO m => LocalPool a -> a -> m ()
- Unlift.Pool: takeResource :: MonadUnliftIO m => Pool a -> m (a, LocalPool a)
- Unlift.Pool: tryTakeResource :: MonadUnliftIO m => Pool a -> m (Maybe (a, LocalPool a))
- Unlift.Pool: tryWithResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m (Maybe b)
- Unlift.Pool: type LocalPool = LocalPool
- Unlift.Pool: type Pool = Pool
- Unlift.Pool: withResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m b
+ UnliftIO.Pool: createPool :: MonadUnliftIO m => m a -> (a -> m ()) -> Int -> NominalDiffTime -> Int -> m (Pool a)
+ UnliftIO.Pool: destroyAllResources :: MonadUnliftIO m => Pool a -> m ()
+ UnliftIO.Pool: destroyResource :: MonadUnliftIO m => Pool a -> LocalPool a -> a -> m ()
+ UnliftIO.Pool: putResource :: MonadUnliftIO m => LocalPool a -> a -> m ()
+ UnliftIO.Pool: takeResource :: MonadUnliftIO m => Pool a -> m (a, LocalPool a)
+ UnliftIO.Pool: tryTakeResource :: MonadUnliftIO m => Pool a -> m (Maybe (a, LocalPool a))
+ UnliftIO.Pool: tryWithResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m (Maybe b)
+ UnliftIO.Pool: type LocalPool = LocalPool
+ UnliftIO.Pool: type Pool = Pool
+ UnliftIO.Pool: withResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m b
Files
- src/Unlift/Pool.hs +0/−52
- src/UnliftIO/Pool.hs +52/−0
- unliftio-pool.cabal +2/−2
− src/Unlift/Pool.hs
@@ -1,52 +0,0 @@-module Unlift.Pool- ( Pool- , LocalPool- , createPool- , withResource- , takeResource- , tryWithResource- , tryTakeResource- , destroyResource- , putResource- , destroyAllResources- ) where--import Control.Monad.IO.Unlift (MonadUnliftIO(..), liftIO)-import qualified Data.Pool as P-import Data.Time.Clock (NominalDiffTime)--type Pool = P.Pool--type LocalPool = P.LocalPool--createPool :: MonadUnliftIO m => m a -> (a -> m ()) -> Int -> NominalDiffTime -> Int -> m (Pool a)-createPool create destroy stripes keepAlive maxPerStripe =- withRunInIO $ \io ->- liftIO $ P.createPool (io create) (io . destroy) stripes keepAlive maxPerStripe--withResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m b-withResource pool action =- withRunInIO $ \io ->- liftIO $ P.withResource pool $ \a ->- io $ action a--takeResource :: MonadUnliftIO m => Pool a -> m (a, LocalPool a)-takeResource pool = liftIO $ P.takeResource pool--tryWithResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m (Maybe b)-tryWithResource pool action =- withRunInIO $ \io ->- liftIO $ P.tryWithResource pool $ \a ->- io $ action a--tryTakeResource :: MonadUnliftIO m => Pool a -> m (Maybe (a, LocalPool a))-tryTakeResource pool = liftIO $ P.tryTakeResource pool--destroyResource :: MonadUnliftIO m => Pool a -> LocalPool a -> a -> m ()-destroyResource pool localPool a = liftIO $ P.destroyResource pool localPool a--putResource :: MonadUnliftIO m => LocalPool a -> a -> m ()-putResource localPool a = liftIO $ P.putResource localPool a--destroyAllResources :: MonadUnliftIO m => Pool a -> m ()-destroyAllResources pool = liftIO $ P.destroyAllResources pool
+ src/UnliftIO/Pool.hs view
@@ -0,0 +1,52 @@+module UnliftIO.Pool+ ( Pool+ , LocalPool+ , createPool+ , withResource+ , takeResource+ , tryWithResource+ , tryTakeResource+ , destroyResource+ , putResource+ , destroyAllResources+ ) where++import Control.Monad.IO.Unlift (MonadUnliftIO(..), liftIO)+import qualified Data.Pool as P+import Data.Time.Clock (NominalDiffTime)++type Pool = P.Pool++type LocalPool = P.LocalPool++createPool :: MonadUnliftIO m => m a -> (a -> m ()) -> Int -> NominalDiffTime -> Int -> m (Pool a)+createPool create destroy stripes keepAlive maxPerStripe =+ withRunInIO $ \io ->+ liftIO $ P.createPool (io create) (io . destroy) stripes keepAlive maxPerStripe++withResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m b+withResource pool action =+ withRunInIO $ \io ->+ liftIO $ P.withResource pool $ \a ->+ io $ action a++takeResource :: MonadUnliftIO m => Pool a -> m (a, LocalPool a)+takeResource pool = liftIO $ P.takeResource pool++tryWithResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m (Maybe b)+tryWithResource pool action =+ withRunInIO $ \io ->+ liftIO $ P.tryWithResource pool $ \a ->+ io $ action a++tryTakeResource :: MonadUnliftIO m => Pool a -> m (Maybe (a, LocalPool a))+tryTakeResource pool = liftIO $ P.tryTakeResource pool++destroyResource :: MonadUnliftIO m => Pool a -> LocalPool a -> a -> m ()+destroyResource pool localPool a = liftIO $ P.destroyResource pool localPool a++putResource :: MonadUnliftIO m => LocalPool a -> a -> m ()+putResource localPool a = liftIO $ P.putResource localPool a++destroyAllResources :: MonadUnliftIO m => Pool a -> m ()+destroyAllResources pool = liftIO $ P.destroyAllResources pool
unliftio-pool.cabal view
@@ -1,5 +1,5 @@ name: unliftio-pool-version: 0.1.0.1+version: 0.2.0.0 synopsis: Data.Pool generalized to MonadUnliftIO. description: This is a generalization of Data.Pool to MonadUnliftIO. license: BSD3@@ -15,7 +15,7 @@ location: https://github.com/BardurArantsson/unliftio-pool library- exposed-modules: Unlift.Pool+ exposed-modules: UnliftIO.Pool build-depends: base >= 4.10 && < 4.11 , resource-pool >= 0.2.3.2 && < 0.3 , time >= 1.8 && < 2