public MsgRegisterCompletionEvent(CompletionEnlistment completion, ref Register register, RequestAsyncResult result, CompletionParticipantProxy proxy) : base(completion)
 {
     this.register = register;
     proxy.AddRef();
     this.proxy = proxy;
     this.result = result;
 }
 public CompletionParticipantEvent(CompletionEnlistment completion) : base(completion)
 {
     MessageHeaders incomingMessageHeaders = OperationContext.Current.IncomingMessageHeaders;
     this.faultTo = Library.GetFaultToHeader(incomingMessageHeaders, base.state.ProtocolVersion);
     this.replyTo = Library.GetReplyToHeader(incomingMessageHeaders);
     this.messageID = incomingMessageHeaders.MessageId;
 }
 public void Aborted(CompletionEnlistment completion)
 {
     if (DebugTrace.Info)
     {
         DebugTrace.TxTrace(TraceLevel.Info, completion.EnlistmentId, "Replying Aborted to transaction manager");
     }
     completion.DeliverCallback(Status.Aborted);
 }
 public void Commit(CompletionEnlistment completion)
 {
     if (DebugTrace.Info)
     {
         DebugTrace.TxTrace(TraceLevel.Info, completion.EnlistmentId, "Sending completion Commit to transaction manager");
     }
     this.coordination.Commit(completion.Enlistment, this.completionCommitResponseCallback, completion);
 }
 public void CreateCoordinationContext(Message message, Microsoft.Transactions.Wsat.Messaging.RequestAsyncResult result)
 {
     Microsoft.Transactions.Wsat.Messaging.CreateCoordinationContext create = new Microsoft.Transactions.Wsat.Messaging.CreateCoordinationContext(message, this.state.ProtocolVersion);
     CoordinationContext currentContext = create.CurrentContext;
     if (currentContext == null)
     {
         CompletionEnlistment completion = new CompletionEnlistment(this.state);
         completion.StateMachine.Enqueue(new MsgCreateTransactionEvent(completion, ref create, result));
     }
     else
     {
         TransactionContextManager contextManager = this.state.Lookup.FindTransactionContextManager(currentContext.Identifier);
         if (contextManager == null)
         {
             bool flag;
             contextManager = new TransactionContextManager(this.state, currentContext.Identifier);
             contextManager = this.state.Lookup.FindOrAddTransactionContextManager(contextManager, out flag);
         }
         contextManager.StateMachine.Enqueue(new TransactionContextEnlistTransactionEvent(contextManager, ref create, result));
     }
 }
 public TmCompletionRollbackResponseEvent(CompletionEnlistment completion, Status status) : base(completion, status)
 {
 }
 private void OnSendComplete(IAsyncResult ar, CompletionEnlistment completion, CompletionParticipantProxy proxy)
 {
     try
     {
         proxy.EndSendMessage(ar);
     }
     catch (WsatSendFailureException exception)
     {
         Microsoft.Transactions.Bridge.DiagnosticUtility.ExceptionUtility.TraceHandledException(exception, TraceEventType.Warning);
         this.state.Perf.MessageSendFailureCountPerInterval.Increment();
         if (completion != null)
         {
             DebugTrace.TraceSendFailure(completion.EnlistmentId, exception);
         }
         else
         {
             DebugTrace.TraceSendFailure(exception);
         }
     }
 }
 public void SendCommitted(CompletionEnlistment completion)
 {
     if (DebugTrace.Info)
     {
         DebugTrace.TxTrace(TraceLevel.Info, completion.EnlistmentId, "Sending Committed to completion participant at {0}", Ports.TryGetAddress(completion.ParticipantProxy));
     }
     IAsyncResult ar = completion.ParticipantProxy.BeginSendCommitted(this.sendComplete, completion);
     if (ar.CompletedSynchronously)
     {
         this.OnSendComplete(ar, completion, completion.ParticipantProxy);
     }
 }
 protected CompletionEvent(CompletionEnlistment completion) : base(completion)
 {
     this.completion = completion;
 }
 public void CreateTransaction(CompletionEnlistment completion, EnlistmentOptions options, MsgCreateTransactionEvent e)
 {
     DebugTrace.Trace(TraceLevel.Info, "Sending CreateTransaction to transaction manager");
     this.propagation.CreateTransaction(completion.Enlistment, options, this.createTransactionResponseCallback, e);
 }
 public MsgCompletionRollbackEvent(CompletionEnlistment completion) : base(completion)
 {
 }
 protected CompletionStatusEvent(CompletionEnlistment completion, Microsoft.Transactions.Bridge.Status status) : base(completion)
 {
     this.status = status;
 }
 public MsgCreateTransactionEvent(CompletionEnlistment completion, ref CreateCoordinationContext create, RequestAsyncResult result) : base(completion)
 {
     this.create = create;
     this.result = result;
 }
 public TmCreateTransactionResponseEvent(CompletionEnlistment completion, Status status, MsgCreateTransactionEvent e) : base(completion, status)
 {
     this.e = e;
 }