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
- All
Abstract Value Members
- abstract def executor: TxnExecutor
Returns the
TxnExecutorin 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,CommittedorRolledBack. 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 thePreparedstate, as theExplicitDecideris 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.RolledBackdue 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()