Packages

package impl

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. trait RefFactory extends AnyRef

    RefFactory is responsible for creating concrete Ref instances.

  2. trait STMImpl extends RefFactory with TxnContext with TxnExecutor

    STMImpl gathers all of the functionality required to plug an STM implementation into scala.concurrent.stm.

    STMImpl gathers all of the functionality required to plug an STM implementation into scala.concurrent.stm. See the STMImpl companion object for information on controlling which STMImpl is selected at run time.

  3. trait TxnContext extends AnyRef

    TxnContext captures the implementation-specific functionality of locating the InTxn dynamically bound to the current Thread.

    TxnContext captures the implementation-specific functionality of locating the InTxn dynamically bound to the current Thread. Users should use the lookup methods provided by object Txn.

Value Members

  1. object STMImpl

    STMImpl gathers all of the functionality required to plug an STM implementation into scala.concurrent.stm.

    STMImpl gathers all of the functionality required to plug an STM implementation into scala.concurrent.stm. Only one implementation can be selected, because Refs and atomic blocks from different STM implementations are not compatible. STMImpl.instance returns the STMImpl instance that has been selected for this program execution.

    There are two ways to explicitly select the STMImpl instance:

    1. set the JVM system property "scala.stm.impl" to the name of a class that implements STMImpl; or

    2. arrange for STMImpl.select or STMImpl.trySelect to be called before any Refs are constructed and before any atomic blocks are executed.

    Setting the JVM system property "scala.stm.impl" is equivalent to making a call to STMImpl.select(System.getProperty("scala.stm.impl")) before any other STMImpl selections.

    If there is no explicitly selected STMImpl instance and the classpath contains a class scala.concurrent.stm.impl.DefaultFactory that extends scala.concurrent.stm.impl.STMImpl.Factory, then an instance of that class will be instantiated and used to generate the STMImpl instance. ScalaSTM implementations are encouraged to implement DefaultFactory so that if a user includes the implementation's JAR file, it will be automatically selected.

    If no explicit selection has been made and there is no definition of scala.concurrent.stm.impl.DefaultFactory present in the classpath, then ScalaSTM will fall back to the reference implementation "scala.concurrent.stm.ccstm.CCSTM".

Ungrouped