RootTxnMixin

trait RootTxnMixin[Tx <: Txn[Tx], D1 <: Txn[D1], I1 <: Txn[I1]] extends TxnMixin[Tx, D1, I1]
trait TxnMixin[Tx, D1, I1]
trait BasicTxnImpl[Tx, I1]
trait Txn[Tx]
trait Txn[Tx]
trait TxnLike
trait Exec[Tx]
class Object
trait Matchable
class Any

Type members

Inherited types

type Acc = Access[T]
Inherited from
Txn
override type D = D1
Inherited from
TxnMixin
override type I = I1
Inherited from
TxnMixin
type Id = Ident[T]
Inherited from
Txn
type T = Tx
Inherited from
TxnMixin
type Var[A] = Var[T, A]
Inherited from
Txn

Value members

Concrete methods

final protected def flushCaches(meldInfo: MeldInfo[T], newVersion: Boolean, caches: IndexedSeq[Cache[T]]): Unit
final def isRetroactive: Boolean
override def toString: String
Definition Classes
TxnMixin -> Any

Inherited methods

final def addDirtyCache(map: Cache[T]): Unit
Inherited from
TxnMixin
final def addDirtyLocalCache(map: Cache[T]): Unit

A local cache is one which is re-created upon application restart. It should probably be called transient instead of local, but we already have stm.LocalVar...

A local cache is one which is re-created upon application restart. It should probably be called transient instead of local, but we already have stm.LocalVar...

If the dirty maps only contain local caches, no new version is created upon flush.

Inherited from
TxnMixin
final def addInputVersion(path: Access[T]): Unit
Inherited from
TxnMixin
def afterCommit(code: => Unit): Unit
Inherited from
BasicTxnImpl
def attrMap(obj: Obj[T]): AttrMap[T]
Inherited from
TxnMixin
override def attrMapOption(obj: Obj[T]): Option[AttrMap[T]]
Definition Classes
TxnMixin -> Txn
Inherited from
TxnMixin
final override def beforeCommit(fun: T => Unit): Unit
Definition Classes
TxnMixin -> BasicTxnImpl -> Txn
Inherited from
TxnMixin
final protected def fullCache: Durable[T, Int, DurablePersistentMap[T, Int]]
Inherited from
TxnMixin
final def getNonTxn[A](id: Id)(format: ConstFormat[A]): A
Inherited from
TxnMixin
final def getTxn[A](id: Id)(format: TFormat[T, A]): A
Inherited from
TxnMixin
def inMemory: I
Inherited from
Exec
final def info: Modifiable
Inherited from
TxnMixin
final protected def meldInfo: MeldInfo[T]
Inherited from
TxnMixin
final def newHandle[A](value: A)(format: TFormat[T, A]): Source[T, A]
Inherited from
TxnMixin
final def newHandleM[A](value: A)(format: TFormat[T, A]): Source[T, A]
Inherited from
TxnMixin
final def newId(): Id
Inherited from
TxnMixin
final override def newIdentMap[A]: IdentMap[T, A]
Definition Classes
TxnMixin -> Exec
Inherited from
TxnMixin
def newInMemoryMap[K, V]: RefMap[Tx, K, V]
Inherited from
BasicTxnImpl
def newInMemorySet[A]: RefSet[Tx, A]
Inherited from
BasicTxnImpl
def newRef[A](init: A): Ref[Tx, A]
Inherited from
BasicTxnImpl
def peer: InTxn

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.

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.

Inherited from
TxnLike
final def putNonTxn[A](id: Id, value: A)(format: ConstFormat[A]): Unit
Inherited from
TxnMixin
final def putTxn[A](id: Id, value: A)(format: TFormat[T, A]): Unit
Inherited from
TxnMixin
final override def readId(in: DataInput): Id
Definition Classes
TxnMixin -> Exec
Inherited from
TxnMixin
final def readTreeVertexLevel(term: Long): Int
Inherited from
TxnMixin
final def removeFromCache(id: Id): Unit
Inherited from
TxnMixin
def system: ConfluentLike[Tx] { type I = I; }
Inherited from
Txn

Concrete fields

final val inputAccess: Access[T]

Inherited fields

final var message: String
Inherited from
TxnMixin
final val timeStamp: Long
Inherited from
TxnMixin

Implicits

Inherited implicits

implicit def durable: D
Inherited from
Txn
implicit def durableBridge: Tx => D
Inherited from
Txn
implicit def inMemoryBridge: Tx => I
Inherited from
Exec
implicit def inMemoryCursor: Cursor[I]
Inherited from
TxnMixin