Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EnlistVolatile() [2/2]

override Enlistment System.Transactions.TransactionStatePromotedNonMSDTCBase.EnlistVolatile ( InternalTransaction tx,
ISinglePhaseNotification enlistmentNotification,
EnlistmentOptions enlistmentOptions,
Transaction atomicTransaction )
inlinepackagevirtualinherited

Reimplemented from System.Transactions.TransactionState.

Reimplemented in System.Transactions.TransactionStatePromotedNonMSDTCSinglePhaseCommit, and System.Transactions.TransactionStatePromotedNonMSDTCVolatilePhase1.

Definition at line 29 of file TransactionStatePromotedNonMSDTCBase.cs.

30 {
31 Enlistment enlistment = new Enlistment(tx, enlistmentNotification, enlistmentNotification, atomicTransaction, enlistmentOptions);
32 if ((enlistmentOptions & EnlistmentOptions.EnlistDuringPrepareRequired) != 0)
33 {
34 AddVolatileEnlistment(ref tx._phase0Volatiles, enlistment);
35 }
36 else
37 {
38 AddVolatileEnlistment(ref tx._phase1Volatiles, enlistment);
39 }
40 TransactionsEtwProvider log = TransactionsEtwProvider.Log;
41 if (log.IsEnabled())
42 {
43 log.TransactionstateEnlist(enlistment.InternalEnlistment.EnlistmentTraceId, EnlistmentType.Volatile, enlistmentOptions);
44 }
45 return enlistment;
46 }
void AddVolatileEnlistment(ref VolatileEnlistmentSet enlistments, Enlistment enlistment)

References System.Transactions.InternalTransaction._phase0Volatiles, System.Transactions.InternalTransaction._phase1Volatiles, System.Transactions.TransactionState.AddVolatileEnlistment(), System.Transactions.InternalEnlistment.EnlistmentTraceId, System.Transactions.Enlistment.InternalEnlistment, System.Diagnostics.Tracing.EventSource.IsEnabled(), System.Transactions.TransactionsEtwProvider.Log, and System.Transactions.TransactionsEtwProvider.TransactionstateEnlist().