Registers a thunk to be executed after the transaction successfully committed.
Creates a handle (in-memory) to refresh a stale version of an object, assuming that the future transaction is issued from the same cursor that is used to create the handle, except for potentially having advanced.
Creates a handle (in-memory) to refresh a stale version of an object, assuming that the future transaction is issued from the same cursor that is used to create the handle, except for potentially having advanced. This is a mechanism that can be used in live views to gain valid access to a referenced object (e.g. self access).
the object which will be refreshed when calling get
on the returned handle
used to write and freshly read the object
the handle
Creates a new in-memory transactional map for storing and retrieving values based on a mutable's identifier as key.
Creates a new in-memory transactional map for storing and retrieving values based on a mutable's identifier
as key. If a system is confluently persistent, the get
operation will find the most recent key that
matches the search key. Objects are not serialized but kept live in memory.
ID maps can be used by observing views to look up associated view meta data even though they may be presented with a more recent access path of the model peer (e.g. when a recent event is fired and observed).
the value type in the map
Every transaction has a plain Scala-STM transaction as a peer.
Every transaction has a plain Scala-STM transaction as a peer. This comes handy for
setting up custom things like TxnLocal
, TMap
, or calling into the hooks of concurrent.stm.Txn
.
It is also needed when re-wrapping the transaction of one system into another.
Back link to the underlying system.