pituicat/src/Affection/MessageBus/Class.hs

19 lines
449 B
Haskell
Raw Normal View History

2017-11-26 21:26:41 +00:00
module Affection.MessageBus.Class where
import Control.Concurrent.STM as STM
import Data.IORef
import Affection.MessageBus.Message
type Channel msg = TChan msg
class Participant prt where
partChannel :: (Message msg) => prt -> IORef (Channel msg)
partConnectChannel :: (Message msg) => prt -> Channel msg -> IO ()
partListen :: (Message msg) => prt -> IO msg
partBroadcast :: (Message msg) => prt -> msg -> IO ()