connection-pool- Connection pool built on top of resource-pool and streaming-commons.

Portabilitynon-portable (CPP, DeriveDataTypeable, StandaloneDeriving, NoImplicitPrelude, TypeFamilies)
Stabilityunstable (internal module)
Safe HaskellNone




Module defines type family of connection pools that is later specialised using type tags (phantom types) to specialize implementation of underlying ConnectionPool for various protocols.

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.ConnectionPoolFamily
   as Internal

This module doesn't depend on streaming-commons and other non-HaskellPlatform packages directly and it is only allowed to import Data.ConnectionPool.Internal.ConnectionPool internal module and nothing else from this package. This package uses CPP to get OS specific things right. Most importantly Windows doesn't support UNIX Sockets.

Please, bear above in mind when doing modifications.


Connection Pool Family

data family ConnectionPool :: * -> *Source

Family of connection pools parametrised by transport protocol.

Tags For Specialised Connection Pools

data TcpClient Source

Type tag used to specialize connection pool for TCP clients.


data UnixClient Source

Type tag used to specialize connection pool for UNIX Socket clients.