All Classes and Interfaces
Class
Description
An
IllegalTxnStateException thrown when a Txn is configured
as abort only and a prepare/commit is executed.An abstract
GammaTxnExecutor implementation.A
TxnExecutionException thrown when an atomic operation has failed (e.g.A policy to be used when
Txn or an atomic operation can't make any progress, e.g.A
Function for primitives that accepts an argument of type boolean and returns a new
value of the same type.A predicate that checks if some value leads to true or false.
Contains some utility functions for shaking out bugs.
A CommitBarrier is a blocking structure like the
CyclicBarrier but
tailored to work with transactions.An IllegalStateException that indicates that an operation was executed on the CommitBarrier while it
already is opened.
An
Error thrown to regulate control flow inside multiverse TxnExecutor.A synchronization aid that allows a set of threads and transaction to all wait for each other to reach a common
barrier point; once this barrier is opened, all transaction atomically commit.
An
IllegalTxnStateException thrown when an action is executed on a
Txn that is either committed or aborted.A
BackoffPolicy that does an 'exponential' backoff.A Cheap
RetryLatch implementation based on the intrinsic lock.A
Function for primitives that accepts an argument of type double and returns a new
value of the same type.A predicate that checks if some value leads to true or false.
A Fat
GammaTxn (supporting all features) but has a fixed capacity.The
TxnExecutor made for the GammaStm.A Function that accepts an argument of a certain type and returns a new value of the same type.
A utility class for
Function functionality.Contains the constants for the
GammaStm.A pool for tranlocals.
Contains the default configuration for all transactions created by the GammaStm.
Abstract GammaTxn to be used by all the concrete GammaTxn implementations.
A
TxnBoolean for the GammaStm.A configuration object that contains the configuration for a GammaTxn.
An
TxnExecutor tailored for the GammaStm.A
TxnFactory tailored for the GammaStm.A
TxnFactoryBuilder tailored for the GammaStm.A pool for pooling GammaTxns.
A
TxnRefFactory tailored for the GammaStm.A
TxnRefFactoryBuilder tailored for the GammaStm.The GlobalConflictCounter is used as a mechanism for guaranteeing read consistency.
A singleton that can be used for easy access to the
Stm that is used globally.A
TxnExecutionException thrown when Txn access is done while
a commuting function is being evaluated.An
IllegalStateException thrown when a TxnFactory can't be created because
the TxnConfig is not correct.A
TxnExecutionException thrown when an operation is executed on a
Txn when it is not in a valid state for that operation.A
IntFunction that increased the value with the supplied amount.A
Function for primitives that accepts an argument of type int and returns a new
value of the same type.A predicate that checks if some value leads to true or false.
A
RuntimeException thrown when a checked exception is thrown but can't be rethrown.With the IsolationLevel you have a way to provide declarative control to guarantee isolation between transactions.
A Lean GammaTxn that is optimized for a fixed number of GammaTxnRefs.
The
TxnExecutor made for the GammaStm.A Lean GammaTxn implementation that is optimized for dealing with only a single
transactional reference.
A Listeners object contains all the Latches of blockingAllowed transactions that listen to a write on a
transactional object.
The Lock provides access to pessimistic behavior of a
TxnObject.An
AtomicOperationException thrown when an atomic operation was executed on a
TxnObject while it was locked.Using the LockMode one can control the pessimistic nature of a
Txn.A
Function for primitives that accepts an argument of type long and returns a new
value of the same type.A predicate that checks if some value leads to true or false.
An interface containing global constants.
A LinkedList implementation that also acts as a TxnQueue, TxnDeque.
The OrElse is responsible for executing the either block, or in case of a retry, the orelse block is executed.
A predicate that checks if some value leads to true or false.
Predicate utility class.
An
IllegalTxnStateException thrown when an operation is executed on a
Txn while the transaction is prepared.An
IllegalStateException throw when there is a conflict with the Txn
propagation.With the PropagationLevel you have control on how the
TxnExecutor reacts on the existence or the non existence
of a Txn.An
IllegalTxnStateException thrown when a write action is executed using
a readonly Txn.A
ControlFlowError thrown when a reading or writing a TxnObject
failed, e.g.A
ControlFlowError thrown when an explicit retry is done on a Txn.A
TxnExecutionException thrown when retrying a transaction for another attempt fails.A
RetryException thrown when the blocking operation on a Txn
using the retry has been interrupted.A blockingAllowed structure that can be used to create blocking transactions.
A
RetryException thrown when a StmUtils.retry() or Txn.retry()
is done while the Txn doesn't allow blocking transactions.A
RetryException throw when a StmUtils.retry() or Txn.retry()
done on a Txn without the possibility of progress, for example when the readset of a transaction
is empty.A
RetryException thrown when a transaction times out while it blocks on a retry (so waits for an update).A
ControlFlowError thrown for dealing with the speculative configuration mechanism.The GammaStm uses a speculative mechanism (if enabled) to learn from executing transactions.
A customizable implementation of the
ThreadFactory.The main interface for software transactional memory.
A
TxnExecutionException thrown when a transaction encounters encounters a transactional object
that belongs to a different Stm instance.A ThreadLocal that contains the
GammaObjectPool.A ThreadLocal that stores the
GammaTxnPool.A
RuntimeException thrown when some part of the implementation is missing.A Utility class for accessing the
Unsafe.A
RetryException thrown when a Txn is retried too many times.Using the TraceLevel you get some feedback on what is happening inside a transaction.
The unit of work for
Stm.A Transactional Reference comparable to the Clojure Ref.
A transactional callable contains the logic that needs to be executed transactionally and normally is executed by the
TxnExecutor.A transactional callable contains the logic that needs to be executed transactionally and normally is executed by the
TxnExecutor.A factory responsible for creating Transactional collections.
Contains the transaction configuration used by a
Txn.A Transactional Reference comparable to the Clojure Ref.
A transactional callable contains the logic that needs to be executed transactionally and normally is executed by the
TxnExecutor.An enumeration for all possible events for the
Txn life-cycle.A
RuntimeException thrown when something fails while executing a Txn.An TxnExecutor is responsible for executing an atomic callable.
A Factory responsible for creating a
Txn.A Builder for creating a
TxnFactory and TxnExecutor.A transactional callable contains the logic that needs to be executed transactionally and normally is executed by the
TxnExecutor.A Transactional Reference comparable to the Clojure Ref.
A listener tailored for listening to events in the
Txn life-cycle.A Transactional Reference comparable to the Clojure Ref.
A transactional callable contains the logic that needs to be executed transactionally and normally is executed by the
TxnExecutor.A
PropagationException thrown when no Txn is available while it is mandatory.A
PropagationException thrown when a Txn is found, but is not allowed.The interface each transactional object needs to implement.
A Transactional Reference comparable to the Clojure Ref.
A Factory for creating references.
A Builder for creating a
TxnRefFactory.An enumeration of all possible states a
Txn can have.A
ThreadLocal that contains the current Txn.A transactional callable contains the logic that needs to be executed transactionally and normally is executed by the
TxnExecutor.The VetoCommitBarrier is a synchronization primitive that makes it possible to execute a 2 phase commit;
so all transaction within a VetoCommitBarrier commit, or they all abort.