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)