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.