module Hasql.Pool.Config.Config where
import Hasql.Connection.Setting qualified as Connection.Setting
import Hasql.Pool.Config.Defaults qualified as Defaults
import Hasql.Pool.Observation (Observation)
import Hasql.Pool.Prelude
import Hasql.Session qualified as Session
data Config = Config
{ Config -> Int
size :: Int,
Config -> DiffTime
acquisitionTimeout :: DiffTime,
Config -> DiffTime
agingTimeout :: DiffTime,
Config -> DiffTime
idlenessTimeout :: DiffTime,
Config -> IO [Setting]
connectionSettingsProvider :: IO [Connection.Setting.Setting],
Config -> Observation -> IO ()
observationHandler :: Observation -> IO (),
Config -> Session ()
initSession :: Session.Session ()
}
defaults :: Config
defaults :: Config
defaults =
Config
{ size :: Int
size = Int
Defaults.size,
acquisitionTimeout :: DiffTime
acquisitionTimeout = DiffTime
Defaults.acquisitionTimeout,
agingTimeout :: DiffTime
agingTimeout = DiffTime
Defaults.agingTimeout,
idlenessTimeout :: DiffTime
idlenessTimeout = DiffTime
Defaults.idlenessTimeout,
connectionSettingsProvider :: IO [Setting]
connectionSettingsProvider = IO [Setting]
Defaults.dynamicConnectionSettings,
observationHandler :: Observation -> IO ()
observationHandler = Observation -> IO ()
Defaults.observationHandler,
initSession :: Session ()
initSession = Session ()
Defaults.initSession
}