|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.multiverse.stms.AbstractTransaction<C,S>
org.multiverse.stms.alpha.transactions.AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>
org.multiverse.stms.alpha.transactions.update.AbstractUpdateAlphaTransaction
public abstract class AbstractUpdateAlphaTransaction
An abstract AlphaTransaction that provides all the pluming
logic for update transactions.
| Field Summary | |
|---|---|
protected UpdateTransactionStatus |
updateTransactionStatus
|
| Fields inherited from class org.multiverse.stms.AbstractTransaction |
|---|
ABORTED, ACTIVE, COMMITTED, config, NEW, PREPARED, statusInt, timeoutNs, version |
| Fields inherited from interface org.multiverse.MultiverseConstants |
|---|
___BUGSHAKER_ENABLED, ___TRACING_ENABLED |
| Constructor Summary | |
|---|---|
AbstractUpdateAlphaTransaction(UpdateConfiguration config)
|
|
| Method Summary | |
|---|---|
protected abstract void |
attach(AlphaTranlocal tranlocal)
Attaches the tranlocal to this Transaction. |
protected void |
doAbortPrepared()
|
protected abstract void |
doDoReset()
|
protected AlphaTranlocal |
doOpenForCommutingWrite(AlphaTransactionalObject transactionalObject)
|
AlphaTranlocal |
doOpenForConstruction(AlphaTransactionalObject transactionalObject)
|
protected AlphaTranlocal |
doOpenForRead(AlphaTransactionalObject transactionalObject)
|
protected AlphaTranlocal |
doOpenForWrite(AlphaTransactionalObject transactionalObject)
|
protected AlphaTranlocal |
doOpenForWriteAndAttach(AlphaTransactionalObject transactionalObject)
|
protected void |
doPrepare()
|
protected void |
doReleaseWriteLockForSuccess(AlphaTranlocal tranlocal,
long writeVersion)
|
protected abstract void |
doReleaseWriteLocksForFailure()
Releases all the locks on the transactional objects of the attached tranlocals that have been acquired. |
protected abstract void |
doReleaseWriteLocksForSuccess(long writeVersion)
Releases the locks on the tranlocal objects of the attached tranlocals with the given writeVersion. |
protected void |
doReleaseWriteSetLocksForFailure(AlphaTranlocal tranlocal)
|
protected void |
doReset()
|
protected abstract AlphaTranlocal |
findAttached(AlphaTransactionalObject transactionalObject)
Finds the tranlocal for the given transactional object in the set of attached tranlocals. |
protected boolean |
hasReadConflict(AlphaTranlocal attached)
|
protected abstract boolean |
hasReadWriteConflict()
Checks if the reads don't have conflicts. |
protected abstract boolean |
hasWriteConflict()
Checks if attached updated-items have a conflict. |
protected boolean |
hasWriteConflict(AlphaTranlocal tranlocal)
|
protected abstract boolean |
isDirty()
Returns the state of the attached tranlocals. |
protected boolean |
isDirty(AlphaTranlocal tranlocal)
|
protected void |
makeChangesPermanent()
|
protected abstract org.multiverse.api.Listeners[] |
makeChangesPermanent(long writeVersion)
Writes the tranlocals that need to be written to their transactional objects. |
protected org.multiverse.api.Listeners |
makePermanent(AlphaTranlocal tranlocal,
long writeVersion)
|
protected abstract boolean |
tryWriteLocks(org.multiverse.api.commitlock.CommitLockFilter commitLockFilter)
Locks the writeset. |
| Methods inherited from class org.multiverse.stms.alpha.transactions.AbstractAlphaTransaction |
|---|
createUncommittedException, dodoRegisterRetryLatch, doRegisterRetryLatch, load, openForCommutingWrite, openForConstruction, openForRead, openForWrite |
| Methods inherited from class org.multiverse.stms.AbstractTransaction |
|---|
abort, commit, doAbortActive, doStart, endOr, endOrAndStartElse, getAttempt, getConfiguration, getReadVersion, getRemainingTimeoutNs, getSnapshot, getStatus, getStm, getTransactionFactory, prepare, registerLifecycleListener, registerRetryLatch, reset, setAttempt, setRemainingTimeoutNs, start, startOr, storeSnapshot, takeSnapshot |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.multiverse.api.Transaction |
|---|
abort, commit, getAttempt, getConfiguration, getReadVersion, getRemainingTimeoutNs, getStatus, getStm, getTransactionFactory, prepare, registerLifecycleListener, registerRetryLatch, reset, setAttempt, setRemainingTimeoutNs, start |
| Field Detail |
|---|
protected UpdateTransactionStatus updateTransactionStatus
| Constructor Detail |
|---|
public AbstractUpdateAlphaTransaction(UpdateConfiguration config)
| Method Detail |
|---|
protected final void doReset()
doReset in class org.multiverse.stms.AbstractTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected abstract void doDoReset()
protected abstract void attach(AlphaTranlocal tranlocal)
tranlocal - the opened AlphaTranlocal to attach.protected abstract AlphaTranlocal findAttached(AlphaTransactionalObject transactionalObject)
transactionalObject - the transactional object to find the tranlocal for.
protected final AlphaTranlocal doOpenForRead(AlphaTransactionalObject transactionalObject)
doOpenForRead in class AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected AlphaTranlocal doOpenForWrite(AlphaTransactionalObject transactionalObject)
doOpenForWrite in class AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected final AlphaTranlocal doOpenForWriteAndAttach(AlphaTransactionalObject transactionalObject)
protected AlphaTranlocal doOpenForCommutingWrite(AlphaTransactionalObject transactionalObject)
doOpenForCommutingWrite in class AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>public final AlphaTranlocal doOpenForConstruction(AlphaTransactionalObject transactionalObject)
doOpenForConstruction in class AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected final void doPrepare()
doPrepare in class org.multiverse.stms.AbstractTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected abstract boolean isDirty()
protected final boolean isDirty(AlphaTranlocal tranlocal)
protected abstract boolean hasWriteConflict()
protected final boolean hasWriteConflict(AlphaTranlocal tranlocal)
protected abstract boolean hasReadWriteConflict()
protected final boolean hasReadConflict(AlphaTranlocal attached)
protected abstract boolean tryWriteLocks(org.multiverse.api.commitlock.CommitLockFilter commitLockFilter)
protected abstract void doReleaseWriteLocksForFailure()
protected final void doReleaseWriteSetLocksForFailure(AlphaTranlocal tranlocal)
protected abstract void doReleaseWriteLocksForSuccess(long writeVersion)
writeVersion - the writeVersion of the tranlocals to release.
protected final void doReleaseWriteLockForSuccess(AlphaTranlocal tranlocal,
long writeVersion)
protected abstract org.multiverse.api.Listeners[] makeChangesPermanent(long writeVersion)
writeVersion - the version of the commit.
protected final org.multiverse.api.Listeners makePermanent(AlphaTranlocal tranlocal,
long writeVersion)
protected void doAbortPrepared()
doAbortPrepared in class org.multiverse.stms.AbstractTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected void makeChangesPermanent()
makeChangesPermanent in class org.multiverse.stms.AbstractTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||