package stm
- Alphabetic
- By Inheritance
- stm
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
Base[S <: Base[S]] extends Closeable
The
Basetrait is a pre-stage tostm.Sys, without introducing peer STM transactions.The
Basetrait is a pre-stage tostm.Sys, without introducing peer STM transactions. It can thus be used to build purely imperative non-transactional systems.- S
the representation type of the system
- trait Copy[In <: Sys[In], Out <: Sys[Out]] extends AnyRef
-
trait
Copy1[In <: Sys[In], Out <: Sys[Out]] extends Copy[In, Out]
Temporary interface extension until we can break binary compatibility.
- trait Cursor[S <: Base[S]] extends AnyRef
- trait DataStore extends Closeable
- trait Disposable[-Tx] extends AnyRef
- trait DummySerializerFactory[S <: Base[S]] extends AnyRef
- trait Durable extends DurableLike[Durable]
- trait DurableLike[S <: DurableLike[S]] extends Sys[S] with Cursor[S]
-
trait
Elem[S <: Sys[S]] extends Writable with Disposable[stm.Elem.S.Tx] with Publisher[S, Any]
An
Elemis any type that is globally registered viaElem.addTypeand can be de-serialized throughElem.read. - trait Executor[S <: Base[S]] extends AnyRef
- trait Folder[S <: Sys[S]] extends Modifiable[S, Obj[S]]
- trait Identifiable[+Id] extends AnyRef
- trait Identifier[-Tx] extends Disposable[Tx] with Writable
-
trait
IdentifierMap[Id, -Tx, A] extends Disposable[Tx]
An identifier map is basically a transactional map whose keys are system identifiers.
An identifier map is basically a transactional map whose keys are system identifiers. However, there are two important aspects: First, the map is always ephemeral (but might be still durable!), even for a confluently persistent system. Second, for systems whose identifiers constitute temporal traces (confluently persistent system), lookup (via
get,containsetc.) finds _any_ value stored for the current version or any older version. That is to say, in a confluently persistent system, it looks up the most recent entry for the key. It is therefore a useful tool to map system entities to ephemeral live views.- Id
the underlying system's identifier type
- Tx
the underlying system's transaction type
- A
the values stored at the keys.
Unitcan be used if only set functionality is needed.
-
trait
InMemory extends InMemoryLike[InMemory]
A thin in-memory (non-durable) wrapper around Scala-STM.
- trait InMemoryLike[S <: InMemoryLike[S]] extends Sys[S] with Cursor[S]
-
trait
List[S <: Sys[S], A] extends Obj[S] with Publisher[S, Update[S, A]]
An observable linked list with fast
headandlastoperations.An observable linked list with fast
headandlastoperations. This is the read-only layer, seeList.Modifiablefor a mutable list.The list will report insertions and deletions.
- A
the element type of the list
- trait Mutable[+Id, -Tx] extends Identifiable[Id] with Writable with Disposable[Tx]
- trait NoBase extends Base[NoBase]
- trait NoSys extends Sys[NoSys]
-
trait
Obj[S <: Sys[S]] extends Elem[S] with Mutable[stm.Obj.S.Id, stm.Obj.S.Tx]
An
Objis a type of element that has anS#Ididentifier and an attribute map.An
Objis a type of element that has anS#Ididentifier and an attribute map. It can be the origin of event dispatch. - trait Plain extends Base[Plain] with Cursor[Plain] with Executor[Plain]
-
trait
Random[-Tx] extends AnyRef
A transactional pseudo-random number generator which behaves numerically like
java.util.Random. - trait Ref[-Tx, A] extends Sink[Tx, A] with Source[Tx, A]
- trait RefMap[S <: Base[S], K, V] extends AnyRef
- trait RefSet[S <: Base[S], A] extends AnyRef
-
trait
Sink[-Tx, -A] extends AnyRef
A sink is a transactional write access to a value
-
trait
Source[-Tx, +A] extends AnyRef
A source is a transactional read access to a value
-
trait
Sys[S <: Sys[S]] extends Base[S]
A system in LucreSTM describes a particular mode of representing values in time and of persisting values to disk.
A system in LucreSTM describes a particular mode of representing values in time and of persisting values to disk. The
Systrait contains types for variables, identifiers, access paths, and transactions which are unique to each system (such as ephemeral in-memory, confluently persistent etc.).- S
the representation type of the system
- trait Txn[S <: Sys[S]] extends Executor[S] with TxnLike
-
trait
TxnLike extends AnyRef
This is a minimal trait for any type of transactions that wrap an underlying Scala-STM transaction.
-
trait
TxnRandom[S <: Base[S]] extends Random[stm.TxnRandom.S.Tx] with Mutable[stm.TxnRandom.S.Id, stm.TxnRandom.S.Tx]
A transactional pseudo-random number generator which behaves numerically like
java.util.Random. -
trait
Var[-Tx, A] extends Ref[Tx, A] with Writable with Disposable[Tx]
A transactional variable is an identifiable cell allowing the reading and writing of values
- trait Workspace[S <: Sys[S]] extends Disposable[stm.Workspace.S.Tx]
Value Members
- var showLog: Boolean
- object Copy
- object DataStore
- object Disposable
- object DummySerializerFactory
- object Durable
- object DurableLike
- object Elem
- object Folder extends Type
- object IdPeek
- object Identifier
- object InMemory
- object InMemoryLike
- object InTxnRandom
- object List extends Type
- object Obj
- object Plain
-
object
Random
Like java's random, but within a transactional cell.
- object Sink
- object Source
- object Txn
- object TxnLike
- object TxnRandom
- object Workspace