Safe Haskell | None |
---|
Data.BTree.Cache.STM
Documentation
type AccessTime = UTCTimeSource
Constructors
Param | |
newtype CacheSTM m k v a Source
Instances
Monad (CacheSTM m k v) => MonadError (IO ()) (CacheSTM m k v) | |
Monad (CacheSTM m k v) | |
Functor (CacheSTM m k v) | |
Monad (CacheSTM m k v) => MonadReader (Param m k v) (CacheSTM m k v) | |
(Monad (CacheSTM m k v), Show k, Serialize k, Serialize v, Ord k, Eq k, Eq v, Hashable k, KVBackend m k ByteString) => Cache (CacheSTM m k v) (Param m k v) k v |
stm :: (Monad (t1 m), Monad m, MonadTrans t, MonadTrans t1) => m a -> t (t1 m) aSource
evalCacheSTM :: Param m k v -> CacheSTM m k v a -> IO aSource
getRef :: (Monad (t1 STM), Ord k, Hashable k, MonadTrans t, MonadTrans t1, MonadError (IO ()) (t (t1 STM)), MonadReader (Param m k b) (t (t1 STM)), KVBackend m k ByteString) => k -> t (t1 STM) (Ref k (Either ByteString b))Source
newRef :: (Monad (t1 STM), Ord k, Hashable k, MonadTrans t, MonadTrans t1, MonadError (IO ()) (t (t1 STM)), MonadReader (Param m k v) (t (t1 STM)), KVBackend m k ByteString) => Maybe k -> k -> Maybe (Either ByteString v) -> t (t1 STM) ()Source
maybeQueue :: (Monad (t1 STM), MonadTrans t, MonadTrans t1, MonadReader (Param m k v) (t (t1 STM))) => Bool -> TVar (Either (State t2 t3) (State t6 t7, t4, t5)) -> (k, Ref k v) -> t (t1 STM) ()Source
store :: (Ord k, Hashable k, KVBackend m k ByteString) => Maybe k -> k -> v -> CacheSTM m k v ()Source
fetch :: (Ord k, Serialize v, Hashable k, KVBackend m k ByteString) => k -> CacheSTM m k v (Maybe v)Source
fetchGen :: (Ord k, Serialize v, Hashable k, KVBackend m k ByteString) => Int -> k -> CacheSTM m k v (Maybe v)Source
flipWrite :: Eq v => Maybe v -> Either (State k v) (State k1 v, t, State t1 v) -> Either (State k v) (State k1 v, t, State t1 v)Source
equals :: (Eq b, Serialize b) => State t (Either ByteString b) -> State t1 (Either ByteString b) -> BoolSource
withGeneration :: MonadIO m => Param m1 k v -> (Int -> m b) -> m bSource
flushKey :: (Ord k1, Serialize a, Hashable k1) => HashTableSTM k1 v1 -> (k1, Ref t (Either ByteString a)) -> CacheSTM m k v (Maybe (Either (State t (Either ByteString a)) (State t (Either ByteString a), Int, State t (Either ByteString a))))Source