Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DependentTransaction.cs
Go to the documentation of this file.
1namespace System.Transactions;
2
3public sealed class DependentTransaction : Transaction
4{
5 private readonly bool _blocking;
6
7 internal DependentTransaction(IsolationLevel isoLevel, InternalTransaction internalTransaction, bool blocking)
8 : base(isoLevel, internalTransaction)
9 {
10 _blocking = blocking;
12 {
13 if (blocking)
14 {
16 }
17 else
18 {
20 }
21 }
22 }
23
24 public void Complete()
25 {
27 if (log.IsEnabled())
28 {
29 log.MethodEnter(TraceSourceType.TraceSourceLtm, this, "Complete");
30 }
32 {
33 if (base.Disposed)
34 {
35 throw new ObjectDisposedException("DependentTransaction");
36 }
37 if (_complete)
38 {
40 }
41 _complete = true;
42 if (_blocking)
43 {
45 }
46 else
47 {
49 }
50 }
51 if (log.IsEnabled())
52 {
53 log.TransactionDependentCloneComplete(this, "DependentTransaction");
54 log.MethodExit(TraceSourceType.TraceSourceLtm, this, "Complete");
55 }
56 }
57}
DependentTransaction(IsolationLevel isoLevel, InternalTransaction internalTransaction, bool blocking)
static Exception CreateTransactionCompletedException(Guid distributedTxId)
virtual void CompleteBlockingClone(InternalTransaction tx)
virtual void CreateAbortingClone(InternalTransaction tx)
virtual void CompleteAbortingClone(InternalTransaction tx)
virtual void CreateBlockingClone(InternalTransaction tx)
InternalTransaction _internalTransaction
void TransactionDependentCloneComplete(Transaction transaction, string type)
void MethodExit(TraceSourceType traceSource, object thisOrContextObject, [CallerMemberName] string methodname=null)
static readonly TransactionsEtwProvider Log
void MethodEnter(TraceSourceType traceSource, object thisOrContextObject, [CallerMemberName] string methodname=null)