Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Control.Concurrent.TBCQueue
Description
A closeable, bounded STM queue.
Synopsis
- data TBCQueue a
- newTBCQueue :: Natural -> STM (TBCQueue a)
- newTBCQueueIO :: Natural -> IO (TBCQueue a)
- readTBCQueue :: TBCQueue a -> STM (Maybe a)
- writeTBCQueue :: TBCQueue a -> a -> STM Bool
- closeTBCQueue :: TBCQueue a -> STM ()
- isOpenTBCQueue :: TBCQueue a -> STM Bool
- isClosedTBCQueue :: TBCQueue a -> STM Bool
- lengthTBCQueue :: TBCQueue a -> STM Natural
Documentation
readTBCQueue :: TBCQueue a -> STM (Maybe a) Source #
Returns Just value
until the queue is closed, blocking for the next value.
writeTBCQueue :: TBCQueue a -> a -> STM Bool Source #
Writes the given value to the queue if it's still open.
Returns whether the queue is still open so producers know when consumers no longer care.
closeTBCQueue :: TBCQueue a -> STM () Source #
Closes the queue so that future writes are no-ops and readers get Nothing
once all previously-written values are read.