name: connection-pool
version: 0.2
synopsis:
Connection pool built on top of resource-pool and streaming-commons.
description:
Connection poll is a family specialised resource pools. Currently package
provides two variants:
.
1. pool for TCP client connections,
.
2. and pool for UNIX Sockets client connections.
.
In addition it can be used to build your own connection pool using provided
primitives.
.
This package is built on top of
<http://hackage.haskell.org/package/resource-pool resource-pool> and
<http://hackage.haskell.org/package/streaming-commons streaming-commons>.
The later allows us to use
<http://hackage.haskell.org/package/conduit-extra conduit-extra> package
for implementation of TCP or UNIX Sockets clients.
.
For examples and other details see documentation in "Data.ConnectionPool"
module.
homepage: https://github.com/trskop/connection-pool
bug-reports: https://github.com/trskop/connection-pool/issues
license: BSD3
license-file: LICENSE
author: Peter Trško
maintainer: peter.trsko@gmail.com
copyright: (c) 2014-2015, Peter Trško
category: Data, Network
build-type: Simple
cabal-version: >=1.10
extra-source-files:
README.md
, ChangeLog.md
, example/*.hs
flag pedantic
description: Pass additional warning flags to GHC during compilation.
default: False
manual: True
library
hs-source-dirs: src
exposed-modules:
Data.ConnectionPool
, Data.ConnectionPool.Class
, Data.ConnectionPool.Family
, Data.ConnectionPool.Internal.ConnectionPool
, Data.ConnectionPool.Internal.HandlerParams
, Data.ConnectionPool.Internal.ResourcePoolParams
, Data.ConnectionPool.Internal.Streaming
, Data.ConnectionPool.Internal.TCP
if !os(windows)
exposed-modules: Data.ConnectionPool.Internal.Unix
default-language: Haskell2010
other-extensions:
CPP
, DeriveDataTypeable
, DeriveGeneric
, FlexibleContexts
, NamedFieldPuns
, NoImplicitPrelude
, OverloadedStrings
, RecordWildCards
, StandaloneDeriving
, TupleSections
, TypeFamilies
build-depends:
-- {{{ Packages distributed with HaskellPlatform (or GHC itself) ----------
base >=4.6 && <4.9
, network >= 2.2.3
-- Version 2.2.3 introduced module "Network.Socket.ByteString".
, time >= 1.0
-- Version 1.0 is the oldest available version of time on Hackage and it
-- defines NominalDiffTime. Package -- resource-pool doesn't define any
-- version boundaries on this package.
-- }}} Packages distributed with HaskellPlatform (or GHC itself) ----------
-- {{{ Other packages -----------------------------------------------------
, between >= 0.10.0.0
-- ^ This package uses strict API which was introduced in version 0.10.0.0.
, data-default-class == 0.0.*
, monad-control >= 0.3
-- Package resource-pool depends on monad-control >=0.2.0.1 since
-- resource-pool version 0.2.0.0, but this package doesn't make the
-- effort to handle changes in monad-control API and therefore it limits
-- its dependencies to >=0.3.
, resource-pool >= 0.2.0.0 && < 1
-- Version 0.2.0.0 of resource-pool was the first that used monad-control
-- package. At the time of writing (version 0.2.3.0) used subset of API
-- is stable.
, streaming-commons >= 0.1.3 && < 0.2
-- First version that had getSocketFamilyTCP function and also Earlier
-- versions have different definition of ClientSettings. Those two things
-- are actually related.
--
-- Changes in streaming-commons that broke this package:
--
-- * Version 0.1.6 introduced appCloseConnection' field of AppData.
-- * Version 0.1.12 introduced appRawSocket' field of AppData.
-- * Version 0.1.13 extended ClientSettings with clientReadBufferSize
-- field and ClientSettingsUnix with clientReadBufferSizeUnix field.
-- See https://github.com/fpco/streaming-commons/pull/23 for details.
-- * Version 0.1.14 exports HasReadBufferSize type class and it also has
-- instance for ClientSettingsUnix. See
-- https://github.com/fpco/streaming-commons/pull/24 for details.
, transformers-base >= 0.4.2 && < 0.5
-- Version bounds taken from latest monad-control package (at the moment
-- 0.3.3.0), which is a dependency of resource-pool package.
-- }}} Other packages -----------------------------------------------------
if os(windows)
cpp-options: -DWINDOWS
if impl(ghc >= 7.8.1)
cpp-options: -DKIND_POLYMORPHIC_TYPEABLE
if impl(ghc >= 7.10)
-- To be able to use poly-kinded ConnectionPool data family we need two
-- things (i) poly-kinded Typeable class and (ii) compiler that is capable
-- of deriving Typeable instance for poly-kinded data family. Otherwise we
-- would break backward compatibility by not providing Typeable instance.
-- Both of these work on GHC only since version 7.10.
cpp-options: -DKIND_POLYMORPHIC_TYPEABLE_POLYKINDED_DATA_FAMILIES
ghc-options: -Wall
if impl(ghc >= 6.8)
-- Newer GHC versions include -fwarn-tabs in -Wall.
ghc-options: -fwarn-tabs
if flag(pedantic)
ghc-options:
-fwarn-implicit-prelude
-fwarn-missing-import-lists
-- -Werror
source-repository head
type: git
location: git://github.com/trskop/connection-pool.git
source-repository this
type: git
location: git://github.com/trskop/connection-pool.git
tag: v0.2