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;
 }
 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;
 }
Example #3
0
        // 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;
         }