object CommitBarrier
- Alphabetic
- By Inheritance
- CommitBarrier
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
sealed abstract
class
CancelCause
extends AnyRef
A class that describes the reason that a commit barrier member was not committed.
A class that describes the reason that a commit barrier member was not committed. Cancelled members might have been rolled back or might have been prevented from ever starting.
-
trait
Member
extends AnyRef
A participant in a synchronized group commit.
A participant in a synchronized group commit. Each member of a commit barrier must arrange for either
atomic
orcancel
to be called, otherwise the other members won't be able to commit. -
case class
MemberCycle
(debugInfo: Any) extends CancelCause with Product with Serializable
The
CancelCause
used when some members of the commit barrier conflict with each other.The
CancelCause
used when some members of the commit barrier conflict with each other. Since the commit barrier can only succeed if all of them commit simultaneously this would lead to a deadlock, so the entire commit barrier is instead cancelled. This cancel cause implies that all members were eventually cancelled.debugInfo
is optional information provided by the STM implementation to help locate the source of the avoided deadlock. If provided it might be one of theRef
s in the cycle, or it might be aString
describing the cycle. -
case class
MemberUncaughtExceptionCause
(x: Throwable) extends CancelCause with Product with Serializable
The
CancelCause
used when a member of the commit barrier cannot commit due to an uncaught exception (seeTxn.UncaughtExceptionCause
).The
CancelCause
used when a member of the commit barrier cannot commit due to an uncaught exception (seeTxn.UncaughtExceptionCause
). This cancel cause implies that all members of the commit barrier rolled back. The exception will be rethrown to the thread running the member that originally generated the exception, all other members will get thisCancelCause
.This cancel cause will also be used if a member thread receives an interrupt while it is waiting for the commit barrier.
-
case class
UserCancel
(info: Any) extends CancelCause with Product with Serializable
A
CancelCause
provided for users of commit barriers, not used by the STM itself.A
CancelCause
provided for users of commit barriers, not used by the STM itself. This cancel cause does not imply that other members of the commit barrier didn't (or won't) eventually succeed.
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( ... )
-
object
CreatingTxnRolledBack
extends CancelCause with Product with Serializable
The
CancelCause
used when theaddMember
call that created a member was from inside a transaction that later rolled back.The
CancelCause
used when theaddMember
call that created a member was from inside a transaction that later rolled back. This cancel cause does not necessarily imply that other members of the commit barrier didn't (or won't) eventually succeed. -
object
Timeout
extends CancelCause with Product with Serializable
The
CancelCause
used when some members of the commit barrier did not finish in time.The
CancelCause
used when some members of the commit barrier did not finish in time. Members may finish either by completing or by being cancelled. This cancel cause implies that all members were eventually cancelled.
Deprecated Value Members
-
def
apply(timeout: Long, unit: TimeUnit = TimeUnit.MILLISECONDS): CommitBarrier
Constructs and returns a new
CommitBarrier
in which each member will wait at mosttimeout
unit
for other members of the barrier to become ready to commit.Constructs and returns a new
CommitBarrier
in which each member will wait at mosttimeout
unit
for other members of the barrier to become ready to commit. If timeout occurs all members will be cancelled with aCancelCause
ofTimeout
. Each commit barrier may be used for at most one coordinated commit (it is not cyclic).- Annotations
- @deprecated
- Deprecated
(Since version 0.8) The current CommitBarrier implementation doesn't have proper deadlock avoidance, please avoid if possible