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

◆ Phase0VolatilePrepareDone()

override void System.Transactions.TransactionStatePhase0.Phase0VolatilePrepareDone ( InternalTransaction tx)
inlinepackagevirtual

Reimplemented from System.Transactions.TransactionState.

Definition at line 114 of file TransactionStatePhase0.cs.

115 {
116 int volatileEnlistmentCount = tx._phase0Volatiles._volatileEnlistmentCount;
117 int dependentClones = tx._phase0Volatiles._dependentClones;
118 tx._phase0VolatileWaveCount = volatileEnlistmentCount;
119 if (tx._phase0Volatiles._preparedVolatileEnlistments < volatileEnlistmentCount + dependentClones)
120 {
121 for (int i = 0; i < volatileEnlistmentCount; i++)
122 {
123 tx._phase0Volatiles._volatileEnlistments[i]._twoPhaseState.ChangeStatePreparing(tx._phase0Volatiles._volatileEnlistments[i]);
124 if (!tx.State.ContinuePhase0Prepares())
125 {
126 break;
127 }
128 }
129 }
130 else
131 {
132 TransactionState.TransactionStateVolatilePhase1.EnterState(tx);
133 }
134 }

References System.Transactions.VolatileEnlistmentSet._dependentClones, System.Transactions.InternalTransaction._phase0Volatiles, System.Transactions.VolatileEnlistmentSet._preparedVolatileEnlistments, System.Transactions.InternalEnlistment._twoPhaseState, System.Transactions.VolatileEnlistmentSet._volatileEnlistmentCount, System.Transactions.VolatileEnlistmentSet._volatileEnlistments, System.Transactions.EnlistmentState.ChangeStatePreparing(), System.Transactions.TransactionState.ContinuePhase0Prepares(), System.Transactions.InternalTransaction.State, and System.Transactions.TransactionState.TransactionStateVolatilePhase1.