scala.concurrent

stm

package stm

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. stm
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait CommitBarrier extends AnyRef

    A CommitBarrier allows multiple transactions on separate threads to perform a single atomic commit.

  2. trait InTxn extends InTxnEnd

    The presence of an implicit InTxn instance grants the caller permission to perform transactional reads and writes on Ref instances, as well as permission to call object Txn methods that require an InTxnEnd.

  3. trait InTxnEnd extends MaybeTxn

    The presence of an implicit InTxnEnd instance inside a transaction life-cycle handler grants permission to call methods in object Txn that locate nesting levels or register additional handlers.

  4. trait MaybeTxn extends AnyRef

    MaybeTxn allows lookup of the implicit InTxn instance without failing if the InTxn is not known at compile time.

  5. trait NestingLevel extends AnyRef

    A NestingLevel instance describes a single attempt to execute an atomic block inside a transaction.

  6. class PendingAtomicBlock[A] extends AnyRef

    Instances of PendingAtomicBlock defer the execution of an atomic block until all of the alternatives can be gathered from the user.

  7. trait Ref[A] extends RefLike[A, InTxn] with Source[A] with Sink[A]

    Provides access to a single element of type A.

  8. trait RefCompanion extends AnyRef

  9. trait RefLike[A, Context] extends SourceLike[A, Context] with SinkLike[A, Context]

    Provides all of the operations of a Ref[A], without the ability to get a Ref.View.

  10. trait Sink[-A] extends SinkLike[A, InTxn]

    Sink[+A] consists of the contra-variant write-only operations of Ref[A].

  11. trait SinkLike[-A, Context] extends AnyRef

    Provides all of the operations of a Sink[A], without the ability to get a Sink.View.

  12. trait Source[+A] extends SourceLike[A, InTxn] with TxnDebuggable

    Source[+A] consists of the covariant read-only operations of Ref[A].

  13. trait SourceLike[+A, Context] extends AnyRef

    Provides all of the operations of a Source[A], without the ability to get a Source.View.

  14. trait TArray[A] extends TxnDebuggable

    Bulk transactional storage, roughly equivalent to Array[Ref[T]] but potentially much more space efficient.

  15. trait TMap[A, B] extends TxnDebuggable

    A transactional map implementation that requires that all of its map-like operations be called from inside an atomic block.

  16. trait TSet[A] extends TxnDebuggable

    A transactional set implementation that requires that all of its set-like operations be called from inside an atomic block.

  17. trait TxnDebuggable extends AnyRef

    This trait implements methods that can be used to examine the content of transactional data structures in a debugger with minimal modification to the behavior of the program.

  18. trait TxnExecutor extends AnyRef

    A TxnExecutor is responsible for executing atomic blocks transactionally using a set of configuration parameters.

  19. trait TxnLocal[A] extends RefLike[A, InTxnEnd]

    TxnLocal[A] holds an instance of A that is local to an atomic block.

Value Members

  1. object CommitBarrier

  2. object MaybeTxn

  3. object NestingLevel

  4. object Ref extends RefCompanion

    object Ref contains factory methods that allocate an STM-managed memory location and return a Ref instance that provides access to that location.

  5. object Sink

  6. object Source

  7. object TArray

  8. object TMap

  9. object TSet

  10. object Txn

    The Txn object provides methods that operate on the current transaction context.

  11. object TxnExecutor

    object TxnExecutor manages the system-wide default TxnExecutor.

  12. object TxnLocal

  13. object TxnUnknown extends MaybeTxn

    An object that represents the absence of a statically-bound current transaction.

  14. def atomic: TxnExecutor

    Atomically executes atomic blocks using the default TxnExecutor.

    Atomically executes atomic blocks using the default TxnExecutor. See TxnExecutor.apply.

  15. package ccstm

  16. package impl

  17. package japi

  18. def retry(implicit txn: InTxn): Nothing

    Equivalent to Txn.retry.

  19. def retryFor(timeout: Long, unit: TimeUnit = TimeUnit.MILLISECONDS)(implicit txn: InTxn): Unit

    Equivalent to Txn.retryFor(timeout, unit).

  20. package skel

  21. implicit def wrapChainedAtomic[A](lhs: ⇒ A): PendingAtomicBlock[A]

    This is the first half of the machinery for implementing orAtomic.

Inherited from AnyRef

Inherited from Any

Ungrouped