public void Dispose()
 {
     if (eventArgs != null)
     {
         eventArgs.Dispose();
     }
 }
Пример #2
0
        private void DoWork(ServerAsyncEventArgs e, int transactionKId, int action)
        {
            if ((action & Transaction.Action.SendOutgoingMessage) > 0)
            {
                SendAsync(e);
            }
            else
            {
                e.Dispose();
            }

            DoWork(transactionKId, action);
        }
Пример #3
0
        public int ProccessTransactionUser(bool isAck, ServerAsyncEventArgs e)
        {
            int action = 0;

            switch (State)
            {
            case Transaction.States.Created:

                action |= Transaction.Action.SendOutgoingMessage;

                eventArgs = e.CreateDeepCopy();
                action   |= SetState(Transaction.States.Calling);
                break;

            case Transaction.States.Calling:
            case Transaction.States.Proceeding:
                break;

            case Transaction.States.Completed:
                if (isAck && IsTransportUnreliable)
                {
                    if (eventArgs != null)
                    {
                        eventArgs.Dispose();
                    }
                    eventArgs   = e.CreateDeepCopy();
                    isAckCached = true;
                }
                break;

            case Transaction.States.Terminated:
                break;
            }

            return(action);
        }