|
||||||||||
| 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 |
|---|
config |
| Fields inherited from interface org.multiverse.MultiverseConstants |
|---|
___SANITY_CHECKS_ENABLED |
| Constructor Summary | |
|---|---|
AbstractUpdateAlphaTransaction(UpdateConfiguration config)
|
|
| Method Summary | |
|---|---|
protected abstract void |
attach(AlphaTranlocal opened)
Attaches the tranlocal to this Transaction. |
protected void |
doAbortPrepared()
|
protected void |
doClear()
|
protected abstract void |
dodoClear()
|
protected AlphaTranlocal |
doOpenForCommutingWrite(AlphaTransactionalObject txObject)
|
AlphaTranlocal |
doOpenForConstruction(AlphaTransactionalObject txObject)
|
protected AlphaTranlocal |
doOpenForRead(AlphaTransactionalObject txObject)
|
protected AlphaTranlocal |
doOpenForWrite(AlphaTransactionalObject txObject)
|
protected AlphaTranlocal |
doOpenForWritePreviousCommittedAndAttach(AlphaTransactionalObject txObject)
|
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 abstract AlphaTranlocal |
findAttached(AlphaTransactionalObject txObject)
Finds the tranlocal for the given transactional object in the set of attached tranlocals. |
protected abstract boolean |
hasReadConflict()
Checks if the reads don't have conflicts. |
protected boolean |
hasReadConflict(AlphaTranlocal attached)
|
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 attached)
|
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 |
|---|
dodoRegisterRetryLatch, doRegisterRetryLatch, load, openForCommutingWrite, openForConstruction, openForRead, openForWrite |
| Methods inherited from class org.multiverse.stms.AbstractTransaction |
|---|
abort, commit, doAbortActive, doInit, endOr, endOrAndStartElse, getAttempt, getConfiguration, getReadVersion, getRemainingTimeoutNs, getSnapshot, getStatus, init, prepare, registerLifecycleListener, registerRetryLatch, restart, setAttempt, setRemainingTimeoutNs, 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, prepare, registerLifecycleListener, registerRetryLatch, restart, setAttempt, setRemainingTimeoutNs |
| Field Detail |
|---|
protected UpdateTransactionStatus updateTransactionStatus
| Constructor Detail |
|---|
public AbstractUpdateAlphaTransaction(UpdateConfiguration config)
| Method Detail |
|---|
protected final void doClear()
doClear in class org.multiverse.stms.AbstractTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected abstract void dodoClear()
protected abstract void attach(AlphaTranlocal opened)
opened - the opened AlphaTranlocal to attach.protected abstract AlphaTranlocal findAttached(AlphaTransactionalObject txObject)
txObject - the transactional object to find the tranlocal for.
protected final AlphaTranlocal doOpenForRead(AlphaTransactionalObject txObject)
doOpenForRead in class AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected AlphaTranlocal doOpenForWrite(AlphaTransactionalObject txObject)
doOpenForWrite in class AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>protected final AlphaTranlocal doOpenForWritePreviousCommittedAndAttach(AlphaTransactionalObject txObject)
protected AlphaTranlocal doOpenForCommutingWrite(AlphaTransactionalObject txObject)
doOpenForCommutingWrite in class AbstractAlphaTransaction<UpdateConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>public final AlphaTranlocal doOpenForConstruction(AlphaTransactionalObject txObject)
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 attached)
protected abstract boolean hasWriteConflict()
protected final boolean hasWriteConflict(AlphaTranlocal tranlocal)
protected abstract boolean hasReadConflict()
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 | |||||||||