Пример #1
0
        public Task CommitTransactionAsync(long transactionId, string stream)
        {
            Ensure.NotNullOrEmpty(stream, "stream");

            var source    = new TaskCompletionSource <object>();
            var operation = new CommitTransactionOperation(source, Guid.NewGuid(), transactionId, stream);

            EnqueueOperation(operation);
            return(source.Task);
        }
        async Task <WriteResult> IEventStoreTransactionConnection.CommitTransactionAsync(EventStoreTransaction transaction, UserCredentials userCredentials)
        {
            Ensure.NotNull(transaction, "transaction");

            var source    = new TaskCompletionSource <WriteResult>(TaskCreationOptions.RunContinuationsAsynchronously);
            var operation = new CommitTransactionOperation(Settings.Log, source, Settings.RequireMaster,
                                                           transaction.TransactionId, userCredentials);

            await EnqueueOperation(operation).ConfigureAwait(false);

            return(await source.Task.ConfigureAwait(false));
        }