Safe Haskell | None |
---|---|
Language | Haskell98 |
A persistent, transactional collection with Queue interface as well as indexed access by key.
Uses default persistence. See Data.TCache.DefaultPersistence
- type RefQueue a = DBRef (Queue a)
- getQRef :: (Typeable a, Serialize a) => String -> RefQueue a
- pop :: (Typeable a, Serialize a) => RefQueue a -> IO a
- popSTM :: (Typeable a, Serialize a) => RefQueue a -> STM a
- pick :: (Typeable a, Serialize a) => RefQueue a -> IO a
- flush :: (Typeable a, Serialize a) => RefQueue a -> IO ()
- flushSTM :: (Typeable a, Serialize a) => RefQueue a -> STM ()
- pickAll :: (Typeable a, Serialize a) => RefQueue a -> IO [a]
- pickAllSTM :: (Typeable a, Serialize a) => RefQueue a -> STM [a]
- push :: (Typeable a, Serialize a) => RefQueue a -> a -> IO ()
- pushSTM :: (Typeable a, Serialize a) => RefQueue a -> a -> STM ()
- pickElem :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> String -> IO (Maybe a)
- pickElemSTM :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> String -> STM (Maybe a)
- readAll :: (Typeable a, Serialize a) => RefQueue a -> IO [a]
- readAllSTM :: (Typeable a, Serialize a) => RefQueue a -> STM [a]
- deleteElem :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> a -> IO ()
- deleteElemSTM :: (Typeable a, Serialize a, Indexable a) => RefQueue a -> a -> STM ()
- updateElem :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> a -> IO ()
- updateElemSTM :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> a -> STM ()
- unreadSTM :: (Typeable a, Serialize a) => RefQueue a -> a -> STM ()
- isEmpty :: (Typeable a, Serialize a) => RefQueue a -> IO Bool
- isEmptySTM :: (Typeable a, Serialize a) => RefQueue a -> STM Bool
Documentation
getQRef :: (Typeable a, Serialize a) => String -> RefQueue a Source #
Get the reference to new or existing queue trough its name
Read the first element in the queue and delete it (pop)
flush :: (Typeable a, Serialize a) => RefQueue a -> IO () Source #
Empty the queue (factually, it is deleted)
pickAll :: (Typeable a, Serialize a) => RefQueue a -> IO [a] Source #
Return the list of all elements in the queue. The queue remains unchanged
pickElem :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> String -> IO (Maybe a) Source #
Return the first element in the queue that has the given key
pickElemSTM :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> String -> STM (Maybe a) Source #
Version in the STM monad
readAll :: (Typeable a, Serialize a) => RefQueue a -> IO [a] Source #
Return the list of all elements in the queue and empty it
deleteElem :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> a -> IO () Source #
Delete all the elements of the queue that has the key of the parameter passed
deleteElemSTM :: (Typeable a, Serialize a, Indexable a) => RefQueue a -> a -> STM () Source #
Verison in the STM monad
updateElem :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> a -> IO () Source #
Update the first element of the queue with a new element with the same key
updateElemSTM :: (Indexable a, Typeable a, Serialize a) => RefQueue a -> a -> STM () Source #
Version in the STM monad