internal InternalTransaction(Transaction outcomeSource, ITransactionPromoter promoter) { if (!TransactionManager._platformValidated) { TransactionManager.ValidatePlatform(); } this.absoluteTimeout = 0x7fffffffffffffffL; this.outcomeSource = outcomeSource; this.transactionHash = TransactionManager.TransactionTable.Add(this); this.promoter = promoter; TransactionState._TransactionStateSubordinateActive.EnterState(this); this.promoteState = TransactionState._TransactionStateDelegatedSubordinate; }
// Construct an internal transaction internal InternalTransaction(Transaction outcomeSource, ITransactionPromoter promoter) { _absoluteTimeout = long.MaxValue; // Store the initial creater as it will be the source of outcome events _outcomeSource = outcomeSource; // Initialize the hash _transactionHash = TransactionManager.TransactionTable.Add(this); // Save the transaction promoter. _promoter = promoter; // This transaction starts in a special state. TransactionState.TransactionStateSubordinateActive.EnterState(this); // This transaction promotes through delegation _promoteState = TransactionState.TransactionStateDelegatedSubordinate; }
// Construct an internal transaction internal InternalTransaction( Transaction outcomeSource, ITransactionPromoter promoter ) { if ( !TransactionManager._platformValidated ) TransactionManager.ValidatePlatform(); this.absoluteTimeout = long.MaxValue; // Store the initial creater as it will be the source of outcome events this.outcomeSource = outcomeSource; // Initialize the hash this.transactionHash = TransactionManager.TransactionTable.Add( this ); // Save the transaction promoter. this.promoter = promoter; // This transaction starts in a special state. TransactionState._TransactionStateSubordinateActive.EnterState( this ); // This transaction promotes through delegation this.promoteState = TransactionState._TransactionStateDelegatedSubordinate; }