-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Simplify queuing up data and processing it in batch. -- -- Simplify queuing up data and processing it in batch. @package batch @version 0.1.0.0 module Control.Batch data Batch v m Batch :: Maybe Int -> Maybe TimeSpan -> Maybe Int -> ([v] -> m ()) -> Batch v m -- | flush in memory items ever N items for processing [b_runEveryItems] :: Batch v m -> Maybe Int -- | flush after item stuck in queue for longer than this [b_runAfterTimeout] :: Batch v m -> Maybe TimeSpan -- | if more than N items are enqueued, block enqueueing [b_maxQueueLength] :: Batch v m -> Maybe Int -- | function describing how batches should be processed [b_runBatch] :: Batch v m -> [v] -> m () data BatchHandle v m BatchHandle :: (v -> m ()) -> BatchHandle v m -- | enqueue a new element [bh_enqueue] :: BatchHandle v m -> v -> m () withBatchRunner :: forall v m a. MonadBaseControl IO m => Batch v m -> (BatchHandle v m -> m a) -> m a