packages feed

natskell-0.0.0.1: internal/Plumbing/Pipeline/Broadcasting/API.hs

{-# LANGUAGE RankNTypes #-}

module Pipeline.Broadcasting.API
  ( BroadcastingAPI (..)
  ) where

import           Control.Monad.IO.Class (MonadIO)
import           Lib.Logger.Types       (MonadLogger)
import           Network.ConnectionAPI  (WriterAPI)
import           Queue.API              (Queue)

newtype BroadcastingAPI = BroadcastingAPI { run :: forall m writer. (MonadLogger m, MonadIO m) => Int -> Queue -> WriterAPI writer -> writer -> m () }