Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Database.LSMTree.Internal.UniqCounter
Synopsis
- newtype UniqCounter m = UniqCounter (PrimVar (PrimState m) Int)
- newUniqCounter :: PrimMonad m => Int -> m (UniqCounter m)
- incrUniqCounter :: PrimMonad m => UniqCounter m -> m Unique
- data Unique
- uniqueToInt :: Unique -> Int
- uniqueToRunNumber :: Unique -> RunNumber
- uniqueToTableId :: Unique -> TableId
- uniqueToCursorId :: Unique -> CursorId
Documentation
newtype UniqCounter m Source #
An atomic counter for producing Unique
values.
Constructors
UniqCounter (PrimVar (PrimState m) Int) |
newUniqCounter :: PrimMonad m => Int -> m (UniqCounter m) Source #
incrUniqCounter :: PrimMonad m => UniqCounter m -> m Unique Source #
Atomically, return the current state of the counter, and increment the counter.
A unique value derived from a UniqCounter
.
uniqueToInt :: Unique -> Int Source #
Use specialised versions like uniqueToRunNumber
where possible.
uniqueToRunNumber :: Unique -> RunNumber Source #
uniqueToTableId :: Unique -> TableId Source #
uniqueToCursorId :: Unique -> CursorId Source #