STM | Consistent and safe concurrent state updatesinterface STM |
TArray | A TArray is an array of transactional variables.data class TArray<A> |
TMap | A TMap is a concurrent transactional implementation of a key value hashmap.data class TMap<K, V> |
TMVar | A TMVar is a mutable reference that can either be empty or hold a value.data class TMVar<A> |
TQueue | A TQueue is a transactional unbounded queue which can be written to and read from concurrently.data class TQueue<A> |
TSemaphore | TSemaphore is the transactional Semaphore.data class TSemaphore |
TSet | A TSet is a concurrent transactional implementation of a hashset.data class TSet<A> |
TVar | A TVar is a mutable reference that can only be (safely) accessed inside a STM transaction.class TVar<A> |
atomically | Run a transaction to completion.suspend fun <A> atomically(f: STM .() -> A): A |
check | Retry if b is false otherwise does nothing.fun STM .check(b: Boolean ): Unit |
newEmptyTMVar | fun <A> STM .newEmptyTMVar(): TMVar <A> |
newTArray | fun <A> STM .newTArray(size: Int , f: ( Int ) -> A): TArray <A> fun <A> STM .newTArray(size: Int , a: A): TArray <A> fun <A> STM .newTArray(vararg arr: A): TArray <A> fun <A> STM .newTArray(xs: Iterable <A>): TArray <A> |
newTMap | fun <K, V> STM .newTMap(fn: (K) -> Int ): TMap <K, V> fun <K, V> STM .newTMap(): TMap <K, V> fun <K, V> STM .newTMap(hash: Hash<K>): TMap <K, V> |
newTMVar | fun <A> STM .newTMVar(a: A): TMVar <A> |
newTQueue | fun <A> STM .newTQueue(): TQueue <A> |
newTSem | fun STM .newTSem(initial: Int ): TSemaphore |
newTSet | fun <A> STM .newTSet(fn: (A) -> Int ): TSet <A> fun <A> STM .newTSet(): TSet <A> fun <A> STM .newTSet(hash: Hash<A>): TSet <A> |
stm | Helper to create stm blocks that can be run with STM.orElsefun <A> stm(f: STM .() -> A): STM .() -> A |
Do you like Arrow?
✖