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
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): 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[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )