330 tx._needPulse =
true;
336 if (enlistments._volatileEnlistmentCount == enlistments._volatileEnlistmentSize)
339 if (enlistments._volatileEnlistmentSize > 0)
341 Array.
Copy(enlistments._volatileEnlistments, 0,
array, 0, enlistments._volatileEnlistmentSize);
343 enlistments._volatileEnlistmentSize += 8;
344 enlistments._volatileEnlistments =
array;
346 enlistments._volatileEnlistments[enlistments._volatileEnlistmentCount] = enlistment.
InternalEnlistment;
347 enlistments._volatileEnlistmentCount++;
static unsafe void Copy(Array sourceArray, Array destinationArray, int length)
override string ToString()
InternalEnlistment InternalEnlistment
TransactionTraceIdentifier TransactionTraceId
Exception _innerException
static TransactionException CreateTransactionStateException(Exception innerException, Guid distributedTxId)
virtual void InDoubtFromEnlistment(InternalTransaction tx)
virtual void CompleteBlockingClone(InternalTransaction tx)
static TransactionStateDelegatedCommitting TransactionStateDelegatedCommitting
static TransactionStatePSPEOperation s_transactionStatePSPEOperation
static object s_classSyncObject
virtual void Phase1VolatilePrepareDone(InternalTransaction tx)
static TransactionStatePromotedP0Wave TransactionStatePromotedP0Wave
static TransactionStateInDoubt TransactionStateInDoubt
static TransactionStateVolatileSPC TransactionStateVolatileSPC
static TransactionStatePromotedNonMSDTCIndoubt TransactionStatePromotedNonMSDTCIndoubt
virtual void ChangeStatePromotedCommitted(InternalTransaction tx)
virtual byte[] PromotedToken(InternalTransaction tx)
static TransactionStatePromotedNonMSDTCPhase0 TransactionStatePromotedNonMSDTCPhase0
static TransactionStateAborted TransactionStateAborted
virtual Enlistment EnlistDurable(InternalTransaction tx, Guid resourceManagerIdentifier, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)
static TransactionStateNonCommittablePromoted TransactionStateNonCommittablePromoted
virtual void CreateAbortingClone(InternalTransaction tx)
static TransactionStateDelegatedAborting s_transactionStateDelegatedAborting
virtual void Rollback(InternalTransaction tx, Exception e)
static TransactionStateVolatilePhase1 s_transactionStateVolatilePhase1
static TransactionStatePromotedNonMSDTCCommitted s_transactionStatePromotedNonMSDTCCommitted
static TransactionStateSubordinateActive TransactionStateSubordinateActive
static TransactionStatePromotedNonMSDTCVolatilePhase1 s_transactionStatePromotedNonMSDTCVolatilePhase1
virtual void ChangeStateTransactionAborted(InternalTransaction tx, Exception e)
static TransactionStateDelegated TransactionStateDelegated
virtual Enlistment PromoteAndEnlistDurable(InternalTransaction tx, Guid resourceManagerIdentifier, IPromotableSinglePhaseNotification promotableNotification, ISinglePhaseNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)
virtual void CompleteAbortingClone(InternalTransaction tx)
virtual void ChangeStateAbortedDuringPromotion(InternalTransaction tx)
virtual void CheckForFinishedTransaction(InternalTransaction tx)
static TransactionStateDelegatedCommitting s_transactionStateDelegatedCommitting
static TransactionStateCommitted s_transactionStateCommitted
static TransactionStatePromotedCommitted s_transactionStatePromotedCommitted
virtual Enlistment EnlistVolatile(InternalTransaction tx, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)
static TransactionStateDelegatedAborting TransactionStateDelegatedAborting
static TransactionStateDelegatedNonMSDTC s_transactionStateDelegatedNonMSDTC
virtual void ChangeStatePromotedAborted(InternalTransaction tx)
static TransactionStateSPC TransactionStateSPC
virtual void ChangeStateTransactionCommitted(InternalTransaction tx)
static TransactionStateActive s_transactionStateActive
static TransactionStatePromotedIndoubt TransactionStatePromotedIndoubt
static TransactionStatePromotedNonMSDTCIndoubt s_transactionStatePromotedNonMSDTCIndoubt
static TransactionStatePromotedNonMSDTCAborted TransactionStatePromotedNonMSDTCAborted
static TransactionStatePSPEOperation TransactionStatePSPEOperation
virtual void EndCommit(InternalTransaction tx)
TransactionStatus get_Status(InternalTransaction tx)
static TransactionStatePromotedNonMSDTCVolatilePhase1 TransactionStatePromotedNonMSDTCVolatilePhase1
virtual void CreateBlockingClone(InternalTransaction tx)
static TransactionStateDelegatedP0Wave s_transactionStateDelegatedP0Wave
void AddVolatileEnlistment(ref VolatileEnlistmentSet enlistments, Enlistment enlistment)
static TransactionStatePhase0 TransactionStatePhase0
static TransactionStateVolatilePhase1 TransactionStateVolatilePhase1
virtual bool ContinuePhase1Prepares()
virtual void BeginCommit(InternalTransaction tx, bool asyncCommit, AsyncCallback asyncCallback, object asyncState)
static TransactionStatePromoted s_transactionStatePromoted
static TransactionStatePromotedAborted TransactionStatePromotedAborted
void EnterState(InternalTransaction tx)
virtual void DisposeRoot(InternalTransaction tx)
static TransactionStatePromotedCommitting s_transactionStatePromotedCommitting
void CommonEnterState(InternalTransaction tx)
static TransactionStateCommitted TransactionStateCommitted
static TransactionStatePhase0 s_transactionStatePhase0
virtual void AddOutcomeRegistrant(InternalTransaction tx, TransactionCompletedEventHandler transactionCompletedDelegate)
virtual void Timeout(InternalTransaction tx)
static TransactionStateDelegatedSubordinate s_transactionStateDelegatedSubordinate
virtual Enlistment EnlistDurable(InternalTransaction tx, Guid resourceManagerIdentifier, ISinglePhaseNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)
virtual Enlistment EnlistVolatile(InternalTransaction tx, ISinglePhaseNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)
static TransactionStatePromotedNonMSDTCAborted s_transactionStatePromotedNonMSDTCAborted
static TransactionStateSPC s_transactionStateSPC
virtual bool EnlistPromotableSinglePhase(InternalTransaction tx, IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Transaction atomicTransaction, Guid promoterType)
static TransactionStateVolatileSPC s_transactionStateVolatileSPC
virtual void Promote(InternalTransaction tx)
static TransactionStatePromotedP0Aborting TransactionStatePromotedP0Aborting
static TransactionStatePromotedIndoubt s_transactionStatePromotedIndoubt
virtual void RestartCommitIfNeeded(InternalTransaction tx)
static TransactionStateInDoubt s_transactionStateInDoubt
static TransactionStateDelegated s_transactionStateDelegated
virtual Guid get_Identifier(InternalTransaction tx)
static TransactionStatePromotedAborted s_transactionStatePromotedAborted
static TransactionStatePromotedNonMSDTCCommitted TransactionStatePromotedNonMSDTCCommitted
static TransactionStatePromotedNonMSDTCPhase0 s_transactionStatePromotedNonMSDTCPhase0
virtual bool IsCompleted(InternalTransaction tx)
static TransactionStatePromotedNonMSDTCSinglePhaseCommit s_transactionStatePromotedNonMSDTCSinglePhaseCommit
virtual void SetDistributedTransactionId(InternalTransaction tx, IPromotableSinglePhaseNotification promotableNotification, Guid distributedTransactionIdentifier)
static TransactionStateNonCommittablePromoted s_transactionStateNonCommittablePromoted
static TransactionStateDelegatedSubordinate TransactionStateDelegatedSubordinate
static TransactionStatePromotedP0Wave s_transactionStatePromotedP0Wave
static TransactionStateDelegatedP0Wave TransactionStateDelegatedP0Wave
static TransactionStatePromotedCommitting TransactionStatePromotedCommitting
static TransactionStatePromoted TransactionStatePromoted
virtual bool ContinuePhase0Prepares()
static TransactionStateSubordinateActive s_transactionStateSubordinateActive
static TransactionStatePromotedCommitted TransactionStatePromotedCommitted
static TransactionStateActive TransactionStateActive
static TransactionStateAborted s_transactionStateAborted
virtual void Phase0VolatilePrepareDone(InternalTransaction tx)
static TransactionStateDelegatedNonMSDTC TransactionStateDelegatedNonMSDTC
static TransactionStatePromotedNonMSDTCSinglePhaseCommit TransactionStatePromotedNonMSDTCSinglePhaseCommit
static TransactionStatePromotedP0Aborting s_transactionStatePromotedP0Aborting
void TransactionExceptionTrace(TraceSourceType traceSource, TransactionExceptionType type, string message, string innerExceptionStr)
static readonly TransactionsEtwProvider Log
static VolatileEnlistmentActive VolatileEnlistmentActive
@ InvalidOperationException
static readonly Guid Empty
string TransactionIdentifier