public final class FatFixedLengthGammaTxn extends GammaTxn
GammaTxn (supporting all features) but has a fixed capacity.| Modifier and Type | Field and Description |
|---|---|
boolean |
hasReads |
Tranlocal |
head |
Listeners[] |
listenersArray |
long |
localConflictCount |
int |
size |
abortOnly, attempt, commitConflict, config, evaluatingCommute, hasWrites, listeners, pool, remainingTimeoutNs, retryListener, richmansMansConflictScan, status, transactionTypeFAILURE, MASK_CONFLICT, MASK_SUCCESS, MASK_UNREGISTERED, REGISTRATION_DONE, REGISTRATION_NONE, REGISTRATION_NOT_NEEDED, TRANLOCAL_COMMUTING, TRANLOCAL_CONSTRUCTING, TRANLOCAL_READ, TRANLOCAL_WRITE, TRANSACTIONTYPE_FAT_FIXED_LENGTH, TRANSACTIONTYPE_FAT_MONO, TRANSACTIONTYPE_FAT_VARIABLE_LENGTH, TRANSACTIONTYPE_LEAN_FIXED_LENGTH, TRANSACTIONTYPE_LEAN_MONO, TX_ABORTED, TX_ACTIVE, TX_COMMITTED, TX_PREPARED, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_INT, TYPE_LONG, TYPE_REF, VERSION_UNCOMMITTEDLOCKMODE_EXCLUSIVE, LOCKMODE_NONE, LOCKMODE_READ, LOCKMODE_WRITE, SHAKE_BUGS, SPIN_YIELD, TRACING_ENABLED| Constructor and Description |
|---|
FatFixedLengthGammaTxn(GammaStm stm) |
FatFixedLengthGammaTxn(GammaTxnConfig config) |
| Modifier and Type | Method and Description |
|---|---|
void |
abort()
Aborts this Txn.
|
void |
commit()
Commits this Txn.
|
Tranlocal |
getRefTranlocal(BaseGammaTxnRef ref)
Gets the Tranlocal for a specific AbstractGammaTxnRef.
|
void |
hardReset()
Does a hard reset of an aborted/committed transaction.
|
void |
initLocalConflictCounter()
Initializes the local conflict counter if the transaction has a need for it.
|
boolean |
isReadConsistent(Tranlocal justAdded) |
Tranlocal |
locate(BaseGammaTxnRef o) |
void |
prepare()
Prepares this transaction to be committed.
|
void |
retry()
Retries the transaction.
|
void |
shiftInFront(Tranlocal newHead) |
boolean |
softReset()
Does a soft reset of an aborted/committed transaction.
|
abortAcquireOnNullLockMode, abortCommitOnAbortOnly, abortCommitOnBadStatus, abortCommuteOnBadStatus, abortCommuteOnBadStm, abortCommuteOnCommuteDetected, abortCommuteOnNullFunction, abortCommuteOnReadonly, abortEnsureOnBadStatus, abortEnsureOnEnsureDetected, abortIfAlive, abortLocateOnBadStatus, abortLocateOnNullArgument, abortOnOpenForCommuteWhileEvaluatingCommute, abortOnOpenForConstructionWhileEvaluatingCommute, abortOnOpenForReadWhileEvaluatingCommute, abortOnReadWriteConflict, abortOnRichmanConflictScanDetected, abortOnTransactionTooSmall, abortOpenForConstructionOnBadReference, abortOpenForConstructionOnBadStatus, abortOpenForConstructionOnBadStm, abortOpenForConstructionOnReadonly, abortOpenForConstructionRequired, abortOpenForReadOnBadStatus, abortOpenForReadOnBadStm, abortOpenForReadOnNonRefTypeDetected, abortOpenForReadOnNullLockMode, abortOpenForReadOrWriteOnExplicitLockingDetected, abortOpenForWriteOnReadonly, abortPrepareOnAbortOnly, abortPrepareOnBadStatus, abortRegisterOnListenerRequired, abortRetryOnBadStatus, abortRetryOnNoBlockingAllowed, abortRetryOnNoRetryPossible, awaitUpdate, copyForSpeculativeFailure, failAbortOnAlreadyCommitted, getAttempt, getConfig, getRemainingTimeoutNs, getStatus, hasWrites, init, isAbortOnly, isAlive, isLean, newRetryError, notifyListeners, register, setAbortOnly, skipPreparepublic Tranlocal head
public int size
public boolean hasReads
public long localConflictCount
public final Listeners[] listenersArray
public FatFixedLengthGammaTxn(GammaStm stm)
public FatFixedLengthGammaTxn(GammaTxnConfig config)
public final void commit()
TxnTxn will always be aborted if the commit does not succeed.
Commit will not throw a ReadWriteConflict after the transaction is prepared.
So if prepared successfully, a commit will always succeed.
If there are TxnListeners (either normal ones or permanent ones) and they thrown a RuntimeException
or Error, this will be re-thrown. If a listener fails after the prepare/commit the transaction still is
committed.
public final void prepare()
TxnIt is very important that the transaction eventually commits or aborts, if it doesn't no other transaction reading/writing the committed resources, can't commit.
public final void abort()
TxnIf the Txn already is aborted, the call is ignored.
public final Tranlocal getRefTranlocal(BaseGammaTxnRef ref)
GammaTxngetRefTranlocal in class GammaTxnref - the AbstractGammaTxnRefpublic final void retry()
TxnRetryError
is thrown which is caught by the TxnExecutor.public final Tranlocal locate(BaseGammaTxnRef o)
public final void hardReset()
GammaTxnpublic final boolean softReset()
GammaTxnpublic final void shiftInFront(Tranlocal newHead)
public final boolean isReadConsistent(Tranlocal justAdded)
isReadConsistent in class GammaTxnpublic void initLocalConflictCounter()
GammaTxninitLocalConflictCounter in class GammaTxn