module Periodic.ClientPool ( module Periodic.Client , ClientPoolEnv , runClientPoolM , openPool ) where import Metro.TP.Socket (Socket, socket) import Periodic.Client hiding (close) import Periodic.Trans.ClientPool (runClientPoolT) import qualified Periodic.Trans.ClientPool as P (ClientPoolEnv, openPool) type ClientPoolEnv = P.ClientPoolEnv Socket runClientPoolM :: ClientPoolEnv -> ClientM a -> IO a runClientPoolM :: ClientPoolEnv -> ClientM a -> IO a runClientPoolM = ClientPoolEnv -> ClientM a -> IO a forall tp a. ClientPoolEnv tp -> ClientT tp IO a -> IO a runClientPoolT openPool :: String -> Int -> IO ClientPoolEnv openPool :: String -> Int -> IO ClientPoolEnv openPool h :: String h = TransportConfig Socket -> Int -> IO ClientPoolEnv forall tp. Transport tp => TransportConfig tp -> Int -> IO (ClientPoolEnv tp) P.openPool (String -> TransportConfig Socket socket String h)