module Periodic.Client
( ClientM
, ClientEnv
, open
, close
, runClientM
, ping
, submitJob_
, submitJob
, runJob_
, runJob
, removeJob
, dropFunc
, status
, configGet
, configSet
, load
, dump
, shutdown
) where
import Metro.TP.Socket (Socket, socket)
import Periodic.Trans.Client hiding (ClientEnv, open)
import qualified Periodic.Trans.Client as C (ClientEnv, open)
type ClientM = ClientT Socket IO
type ClientEnv = C.ClientEnv Socket
open :: String -> IO ClientEnv
open :: String -> IO ClientEnv
open = TransportConfig Socket -> IO ClientEnv
forall (m :: * -> *) tp.
(MonadUnliftIO m, Transport tp) =>
TransportConfig tp -> m (ClientEnv tp)
C.open (TransportConfig Socket -> IO ClientEnv)
-> (String -> TransportConfig Socket) -> String -> IO ClientEnv
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> TransportConfig Socket
socket
runClientM :: ClientEnv -> ClientM a -> IO a
runClientM :: ClientEnv -> ClientM a -> IO a
runClientM = ClientEnv -> ClientM a -> IO a
forall (m :: * -> *) tp a.
Monad m =>
ClientEnv tp -> ClientT tp m a -> m a
runClientT