| Copyright | (c) 2014 Peter Trško |
|---|---|
| License | BSD3 |
| Maintainer | [email protected] |
| Stability | unstable (internal module) |
| Portability | GHC specific language extensions. |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Data.ConnectionPool.Internal.ResourcePoolParams
Description
Internal packages are here to provide access to internal definitions for library writers, but they should not be used in application code.
Preferably use qualified import, e.g.:
import qualified Data.ConnectionPool.Internal.ResourcePoolParams as Internal
Surprisingly this module doesn't depend on resource-pool package and it would be good if it stayed that way, but not at the cost of crippling functionality.
Importantly this package should not depend on streaming-commons package or other modules of this package.
Please, bear above in mind when doing modifications.
- data ResourcePoolParams = ResourcePoolParams {}
- numberOfResourcesPerStripe :: Functor f => (Int -> f Int) -> ResourcePoolParams -> f ResourcePoolParams
- numberOfStripes :: Functor f => (Int -> f Int) -> ResourcePoolParams -> f ResourcePoolParams
- resourceIdleTimeout :: Functor f => (NominalDiffTime -> f NominalDiffTime) -> ResourcePoolParams -> f ResourcePoolParams
- validateResourcePoolParams :: ResourcePoolParams -> Either String ResourcePoolParams
ResourcePoolParams
data ResourcePoolParams Source #
Parameters of resource pool that describe things like its internal
structure. See createPool for details.
Instance for Generic introduced in version 0.2.
Constructors
| ResourcePoolParams | |
Fields | |
Lenses
numberOfResourcesPerStripe :: Functor f => (Int -> f Int) -> ResourcePoolParams -> f ResourcePoolParams Source #
Lens for accessing maximum number of resources to keep open per stripe. The smallest acceptable value is 1 (default).
numberOfStripes :: Functor f => (Int -> f Int) -> ResourcePoolParams -> f ResourcePoolParams Source #
Lens for accessing stripe count. The number of distinct sub-pools to maintain. The smallest acceptable value is 1 (default).
resourceIdleTimeout :: Functor f => (NominalDiffTime -> f NominalDiffTime) -> ResourcePoolParams -> f ResourcePoolParams Source #
Lens for accessing amount of time for which an unused resource is kept open. The smallest acceptable value is 0.5 seconds (default).
Validation
validateResourcePoolParams Source #
Arguments
| :: ResourcePoolParams | Parameters to validate. |
| -> Either String ResourcePoolParams | Either error message or the same value of |
Check if all parameters for underlying resource pool are valid:
Number of connection sub-pools. Keeping it set tonumberOfStripes>= 11is good for most applications.Maximum number of connections in each stripe. Totally there can benumberOfResourcesPerStripe>= 1open connections simultaneously.numberOfStripes*numberOfResourcesPerStripeProperty specified for how long connection will be kept alive after it is released by back to the pool before it is automatically closed. Value is in seconds.resourceIdleTimeout>= 0.5
For more details see createPool.
Since version 0.1.1.0.