||Abstract Record Class
This class provides an abstract template that defines the interface that the
atomic action system uses to notify objects that various state transitions
have occurred as the 2PC protocol executes.
||Class that represents the transaction hierarchy.
||The various state changes that a transaction can go through.
||The two types of transactions, nested, and top-level.
||The possible outcomes when trying to add an AbstractRecord as
a participant within a transaction.
||BasicAction does most of the work of an atomic action, but does not manage
||If an action attempts to terminate with threads still active we
call an instance of this class to determine what to do.
||This class manages instances of the classes derived from AbstractRecord
in the form of an ordered doubly-linked list.
||A basic iterator for RecordList instances.
||The following enumerated type defines the types of record that are
derived from AbstractRecord.
||Abstract Record Interface Class.
||Class to record transactions with non-zero timeout values, and class to
implement a transaction reaper thread which terminates these transactions
once their timeout elapses.
||Adds support for synchronizations to BasicAction.
||The outcomes which can be generated when a transaction
attempts to prepare/commit/rollback.
||Transaction configuration object.
||This class is used to maintain statistics on transactions that
have been created.