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
public interface IAsyncTransaction extends ITransaction
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidasyncCommit(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 Detail
-
asyncPrepareCommit
void asyncPrepareCommit(CountedCompleter<?> sync, IEpoch epoch)
Prepares this transaction for committing.- Parameters:
epoch- the commit's epoch
-
asyncCommit
void asyncCommit(CountedCompleter<?> sync, IEpoch epoch)
Commits this transaction into the base version.- Parameters:
epoch- the commit's epoch
-
asyncRollback
void asyncRollback(CountedCompleter<?> sync)
Rolls the transaction back.This transaction object cannot be re-used after being rolled back.
-
-