Copyright | (c) 2017 Composewell Technologies |
---|---|
License | BSD-3-Clause |
Maintainer | streamly@composewell.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- pushWorker :: MonadRunInIO m => Count -> Channel m a -> m ()
- dispatchWorker :: MonadRunInIO m => Count -> Channel m a -> m Bool
- dispatchWorkerPaced :: MonadRunInIO m => Channel m a -> m Bool
- sendWorkerWait :: MonadIO m => Bool -> (Channel m a -> IO ()) -> (Channel m a -> m Bool) -> Channel m a -> m ()
- startChannel :: MonadRunInIO m => Channel m a -> m ()
- sendWorkerDelay :: Channel m a -> IO ()
- sendWorkerDelayPaced :: Channel m a -> IO ()
Dispatching
pushWorker :: MonadRunInIO m => Count -> Channel m a -> m () Source #
dispatchWorker :: MonadRunInIO m => Count -> Channel m a -> m Bool Source #
dispatchWorkerPaced :: MonadRunInIO m => Channel m a -> m Bool Source #
sendWorkerWait :: MonadIO m => Bool -> (Channel m a -> IO ()) -> (Channel m a -> m Bool) -> Channel m a -> m () Source #
startChannel :: MonadRunInIO m => Channel m a -> m () Source #
Start the evaluation of the channel's work queue by kicking off a worker. Note: Work queue must not be empty otherwise the worker will exit without doing anything.
sendWorkerDelay :: Channel m a -> IO () Source #
sendWorkerDelayPaced :: Channel m a -> IO () Source #