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 Details

    • 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.