-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Extra queue utilities for STM -- @package stm-queue-extras @version 0.2.0.0 module Control.Concurrent.STM.Queue class Queue q where type family QueueValue q α readQueue :: Queue q => q α -> STM (QueueValue q α) tryReadQueue :: Queue q => q α -> STM (Maybe (QueueValue q α)) peekQueue :: Queue q => q α -> STM (QueueValue q α) tryPeekQueue :: Queue q => q α -> STM (Maybe (QueueValue q α)) writeQueue :: Queue q => q α -> α -> STM () unGetQueue :: Queue q => q α -> α -> STM () isEmptyQueue :: Queue q => q α -> STM Bool -- | Block until a queue is empty. awaitQueueEmpty :: Queue q => q α -> STM () instance [safe] Queue TBMQueue instance [safe] Queue TMQueue instance [safe] Queue TBQueue instance [safe] Queue TQueue module Control.Concurrent.STM.BoundedQueue class Queue q => BoundedQueue q tryWriteQueue :: BoundedQueue q => q α -> α -> STM (QueueValue q Bool) isFullQueue :: BoundedQueue q => q α -> STM Bool instance [safe] BoundedQueue TBMQueue instance [safe] BoundedQueue TBQueue module Control.Concurrent.STM.CloseableQueue class Queue q => CloseableQueue q closeQueue :: CloseableQueue q => q α -> STM () isClosedQueue :: CloseableQueue q => q α -> STM Bool instance [safe] CloseableQueue TBMQueue instance [safe] CloseableQueue TMQueue