module Periodic.Worker ( WorkerM , startWorkerM , ping , addFunc , broadcast , removeFunc , work , close ) where import Metro.TP.Socket (Socket, socket) import Periodic.Trans.Worker type WorkerM = WorkerT Socket IO startWorkerM :: String -> WorkerM () -> IO () startWorkerM :: String -> WorkerM () -> IO () startWorkerM h :: String h = TransportConfig Socket -> WorkerM () -> IO () forall (m :: * -> *) tp. (MonadUnliftIO m, Transport tp) => TransportConfig tp -> WorkerT tp m () -> m () startWorkerT (String -> TransportConfig Socket socket String h)