Copyright | Copyright © 2015 PivotCloud, Inc. |
---|---|
License | Apache-2.0 |
Maintainer | Lars Kuhtz <lkuhtz@pivotmail.com> |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
- class BoundedCloseableQueue q a | q -> a where
- newQueue :: Natural -> IO q
- closeQueue :: q -> IO ()
- writeQueue :: q -> a -> IO Bool
- tryWriteQueue :: q -> a -> IO (Maybe Bool)
- readQueue :: q -> IO (Maybe a)
- data FairTBMQueue α
- data TBMQueue a :: * -> *
- data TBMChan a :: * -> *
Documentation
class BoundedCloseableQueue q a | q -> a where Source
newQueue :: Natural -> IO q Source
closeQueue :: q -> IO () Source
writeQueue :: q -> a -> IO Bool Source
Returns False
if and only if the queue
is closed. If the queue is full this function blocks.
tryWriteQueue :: q -> a -> IO (Maybe Bool) Source
Non-blocking version of writeQueue
. Returns Nothing
if the
queue was full. Otherwise it returns 'Just True' if the value
was successfully written and 'Just False' if the queue was closed.
readQueue :: q -> IO (Maybe a) Source
Returns Nothing
if and only if the queue is
closed. If this queue is empty this function blocks.
data FairTBMQueue α Source
data TBMQueue a :: * -> *
TBMQueue
is an abstract type representing a bounded closeable
FIFO queue.
data TBMChan a :: * -> *
TBMChan
is an abstract type representing a bounded closeable
FIFO channel.