Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type Pool = Pool
- data PoolConfig a
- setNumStripes :: Maybe Int -> PoolConfig a -> PoolConfig a
- type LocalPool = LocalPool
- mkDefaultPoolConfig :: MonadUnliftIO m => m a -> (a -> m ()) -> Double -> Int -> m (PoolConfig a)
- newPool :: MonadUnliftIO m => PoolConfig a -> m (Pool a)
- withResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m b
- takeResource :: MonadUnliftIO m => Pool a -> m (a, LocalPool a)
- tryWithResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m (Maybe b)
- tryTakeResource :: MonadUnliftIO m => Pool a -> m (Maybe (a, LocalPool a))
- destroyResource :: MonadUnliftIO m => Pool a -> LocalPool a -> a -> m ()
- putResource :: MonadUnliftIO m => LocalPool a -> a -> m ()
- destroyAllResources :: MonadUnliftIO m => Pool a -> m ()
Documentation
data PoolConfig a #
Configuration of a Pool
.
setNumStripes :: Maybe Int -> PoolConfig a -> PoolConfig a #
Set the number of stripes in the pool.
If set to Nothing
(the default value), the pool will create the amount of
stripes equal to the number of capabilities. This ensures that threads never
compete over access to the same stripe and results in a very good performance
in a multi-threaded environment.
Since: resource-pool-0.4.0.0
mkDefaultPoolConfig :: MonadUnliftIO m => m a -> (a -> m ()) -> Double -> Int -> m (PoolConfig a) Source #
newPool :: MonadUnliftIO m => PoolConfig a -> m (Pool a) Source #
Lifted version of newPool
Since: 0.4.2.0
withResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m b Source #
takeResource :: MonadUnliftIO m => Pool a -> m (a, LocalPool a) Source #
tryWithResource :: MonadUnliftIO m => Pool a -> (a -> m b) -> m (Maybe b) Source #
tryTakeResource :: MonadUnliftIO m => Pool a -> m (Maybe (a, LocalPool a)) Source #
destroyResource :: MonadUnliftIO m => Pool a -> LocalPool a -> a -> m () Source #
putResource :: MonadUnliftIO m => LocalPool a -> a -> m () Source #
destroyAllResources :: MonadUnliftIO m => Pool a -> m () Source #