Package com.qfs.multiversion
Interface IAsyncTransaction
- All Superinterfaces:
ITransaction
- All Known Subinterfaces:
IAggregateProviderHolderTransaction,IAggregateProviderTransaction,IGlobalAggregateProviderTransaction,IStoreTransaction
- All Known Implementing Classes:
AAggregateProviderTransaction,AggregateProviderHolderTransaction,AGlobalAggregateProviderTransaction,AIndexedAggregateProviderTransaction,AIndexedPartitionedAggregateProviderTransaction,APartitionedAggregateProviderTransaction,BitmapAggregateProviderTransaction,BitmapPartitionedAggregateProviderTransaction,LeafAggregateProviderTransaction,LeafPartitionedAggregateProviderTransaction,StoreTransaction
A transaction on a multi-versioned Object that performs its operations in an asynchronous way.
Each asynchronous operation is called with a completion sync that contains the completion code to execute when the operation is complete.
- Author:
- ActiveViam
-
Method Summary
Modifier and TypeMethodDescriptionvoidasyncCommit(CountedCompleter<?> sync, IEpoch epoch) Commits this transaction into the base version.voidasyncPrepareCommit(CountedCompleter<?> sync, IEpoch epoch) Prepares this transaction for committing.voidasyncRollback(CountedCompleter<?> sync) Rolls the transaction back.Methods inherited from interface com.qfs.multiversion.ITransaction
commit, isEmpty, prepareCommit, rollback
-
Method Details
-
asyncPrepareCommit
Prepares this transaction for committing.- Parameters:
epoch- the commit's epoch
-
asyncCommit
Commits this transaction into the base version.- Parameters:
epoch- the commit's epoch
-
asyncRollback
Rolls the transaction back.This transaction object cannot be re-used after being rolled back.
-