trait NestingLevel extends AnyRef
A NestingLevel
instance describes a single attempt to execute an atomic
block inside a transaction. Reads and writes performed by a transaction
will only be made visible to other threads after (if) the root nesting
level commits.
Methods on this class may be called from any thread, and may be called after the corresponding execution attempt has been completed.
- Alphabetic
- By Inheritance
- NestingLevel
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def executor: TxnExecutor
Returns the
TxnExecutor
in which this attempt is executing. - abstract def parent: Option[NestingLevel]
Returns the nearest enclosing nesting level, if any.
- abstract def requestRollback(cause: RollbackCause): Status
Requests that a transaction attempt be marked for rollback, possibly also rolling back some or all of the enclosing nesting levels.
Requests that a transaction attempt be marked for rollback, possibly also rolling back some or all of the enclosing nesting levels. Returns the resulting status, which will be one of
Prepared
,Committed
orRolledBack
. Regardless of the status, this method does not throw an exception.Unlike
Txn.rollback(cause)
, this method may be called from any thread. Note that there is no facility for remotely triggering a rollback during thePrepared
state, as theExplicitDecider
is given the final choice. - abstract def root: NestingLevel
Returns the outermost enclosing nested transaction context, or this instance if it is the outermost nesting level.
Returns the outermost enclosing nested transaction context, or this instance if it is the outermost nesting level. It is always true that
a.parent.isEmpty == (a.root == a)
. - abstract def status: Status
Returns a snapshot of this nesting level's current status.
Returns a snapshot of this nesting level's current status. The status may change to
Txn.RolledBack
due to the actions of a concurrent thread. This method may be called from any thread.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated