Пример #1
0
        /// <summary>
        /// Mapping RequestOutcome to MessageState
        /// </summary>
        /// <param name="outcome">RequestOutcome</param>
        /// <returns>MessageState</returns>
        public static MessageState ConvertMessageStateFromRequestOutcome(RequestOutcome outcome)
        {
            switch (outcome)
            {
            case RequestOutcome.UNKNOWN:
            case RequestOutcome.DELIVERING:
                return(MessageState.UNKNOWN);

            case RequestOutcome.SUCCESS:
                return(MessageState.DELIVERED);

            case RequestOutcome.TIMEOUT:
                return(MessageState.TIMEOUT);

            case RequestOutcome.CANCELLED:
            case RequestOutcome.FAILED_OPERATOR:
            case RequestOutcome.FAILED_UNAUTHORIZED:
            case RequestOutcome.FAILED_DATA_CONTRACT:
            case RequestOutcome.FAILED_CONTENT:
            case RequestOutcome.FAILED_BALANCE:
                return(MessageState.FAILED_OPERATOR);
            }

            return(MessageState.FAILED_UNKNOWN);
        }
 internal NotificationArgs(RequestOutcome outcome, OPSTelegrama response)
 {
     if (response != null)
     {
         _response = OPSTelegramaFactory.CreateOPSTelegrama(response.FullData);
     }
     _outcome = outcome;
 }
 private void OnRequestMessageResponse(decimal msgId,
                                       RequestOutcome outcome, OPSTelegrama response)
 {
     if (MessageArrived != null)
     {
         MessageArrived(msgId, outcome, response.XmlData, this, response.Packetizer.PacketInfo.SourceId);
     }
     else
     {
         CommMain.Logger.AddLog("WARNING: MessageProcessor.OnRequestMessageResponse: MessageArrived is null.", LoggerSeverities.Debug);
     }
 }
Пример #4
0
        public static MessageState ConvertMessageStateFromRequestOutcome(RequestOutcome outcome)
        {
            switch (outcome)
            {
            case RequestOutcome.UNKNOWN:
                return(MessageState.UNKNOWN);

            case RequestOutcome.DELIVERING:
                return(MessageState.UNKNOWN);

            case RequestOutcome.TIMEOUT:
                return(MessageState.TIMEOUT);

            case RequestOutcome.CANCELLED:
                return(MessageState.FAILED_OPERATOR);

            case RequestOutcome.SUCCESS:
                return(MessageState.DELIVERED);

            case RequestOutcome.FAILED_OPERATOR:
                return(MessageState.FAILED_OPERATOR);

            case RequestOutcome.FAILED_UNAUTHORIZED:
                return(MessageState.FAILED_OPERATOR);

            case RequestOutcome.FAILED_DATA_CONTRACT:
                return(MessageState.FAILED_OPERATOR);

            case RequestOutcome.FAILED_OVER_SPEED:
                return(MessageState.FAILED_SEND_FILTER);

            case RequestOutcome.FAILED_MOBILE:
                return(MessageState.FAILED_MOBILE);

            case RequestOutcome.FAILED_CONTENT:
                return(MessageState.FAILED_OPERATOR);

            case RequestOutcome.FAILED_SIGN:
                return(MessageState.FAILED_SIGN);

            case RequestOutcome.FAILED_EXTENDED_CODE:
                return(MessageState.FAILED_OPERATOR);

            case RequestOutcome.FAILED_BALANCE:
                return(MessageState.FAILED_OPERATOR);

            case RequestOutcome.FAILED_UNKNOWN:
                return(MessageState.FAILED_UNKNOWN);
            }

            return(MessageState.FAILED_UNKNOWN);
        }
Пример #5
0
 internal static RecentRequestModel FromRequestOutcome(RequestOutcome requestOutcome)
 {
     return(new RecentRequestModel()
     {
         ID = requestOutcome.ID,
         ReceivedUtc = requestOutcome.ReceivedUtc.ToString("HH:mm:ss.fff"),
         DurationMs = requestOutcome.CompletedUtc == null ? "" : requestOutcome.DurationMs.Value.ToString("N0"),
         TileServerName = requestOutcome.TileServerName ?? "",
         Zoom = requestOutcome.Zoom ?? "",
         X = requestOutcome.X ?? "",
         Y = requestOutcome.Y ?? "",
         Retina = requestOutcome.Retina ?? "",
         Outcome = requestOutcome.Outcome ?? "",
     });
 }
 /// <summary>
 /// Handler for the MessageProcessor MessageArrived event
 /// </summary>
 /// <param name="msgId">The new message identifier</param>
 /// <param name="outcome">The outcome of the message (not used)</param>
 /// <param name="msg">The message received</param>
 /// <param name="sender">The message processor that received the message</param>
 /// <param name="srcId">The source unit id</param>
 public void NewMessage(decimal msgId, RequestOutcome outcome,
                        string msg, MessageProcessor sender, string srcId)
 {
     lock (_msgQueue)
     {
         _msgQueue.Enqueue(new ReceivedMessage(msg, sender.Id, srcId));
     }
     if (MessagesAvailable != null)
     {
         ThreadPool.QueueUserWorkItem(
             new WaitCallback(FireMessagesAvailableEventThreadProc));
     }
     else
     {
         CommMain.Logger.AddLog("WARNING: SocketChannel.NewMessage: MessagesAvailable is null.", LoggerSeverities.Error);
     }
 }
 /// <summary>
 /// Handler for the ChannelAdapter MessageResponse event
 /// </summary>
 /// <param name="outcome">The outcome of the message</param>
 /// <param name="response">The response received when the
 /// outcome indicates success, null otherwise</param>
 private void OnChannelAdapterMessageResponse(RequestOutcome outcome,
                                              OPSTelegrama response)
 {
     if (_sending && response != null && _responseHandler != null)
     {
         ThreadPool.QueueUserWorkItem(
             new WaitCallback(HandleResponseThreadProc),
             new RequestResponse(outcome, response));
     }
     else
     {
         if (outcome == RequestOutcome.ReceiveError ||
             outcome == RequestOutcome.SendError)
         {
             Debug.WriteLine("Request - Finalizing request due to receive or send error");
             FinalizeRequest();
         }
     }
 }
Пример #8
0
        private void RefreshListViewItem(RequestOutcome requestOutcome, ListViewItem lvi)
        {
            if (!(lvi.Tag is RequestOutcome taggedOutcome) || !taggedOutcome.Equals(requestOutcome))
            {
                while (lvi.SubItems.Count < 8)
                {
                    lvi.SubItems.Add("");
                }
                lvi.Tag = requestOutcome;

                lvi.SubItems[0].Text = requestOutcome.ReceivedUtc.ToString("HH:mm:ss.fff");
                lvi.SubItems[1].Text = requestOutcome.CompletedUtc == null ? "" : requestOutcome.DurationMs.Value.ToString("N0");
                lvi.SubItems[2].Text = requestOutcome.TileServerName ?? "";
                lvi.SubItems[3].Text = requestOutcome.Zoom ?? "";
                lvi.SubItems[4].Text = requestOutcome.X ?? "";
                lvi.SubItems[5].Text = requestOutcome.Y ?? "";
                lvi.SubItems[6].Text = requestOutcome.Retina ?? "";
                lvi.SubItems[7].Text = requestOutcome.Outcome ?? "";
            }
        }
Пример #9
0
        /*
         *              public delegate void MessageArrivedHandler(decimal msgId,
         *                      RequestOutcome outcome, OPSTelegrama response,
         *                      MessageProcessor sender);
         *              /// <summary>
         *              /// The signature for handlers of the Done event
         *              /// </summary>
         *              public delegate void DoneHandler(MessageProcessor sender);
         *              /// <summary>
         *              /// The signature for handlers of the MessageRetried event
         *              /// </summary>
         *              public delegate void MessageRetriedHandler(decimal msgId,
         *                      decimal retriesLeft, MessageProcessor sender);
         *
         */
        /// <summary>
        /// Handler for the MessageProcessor.MessageArrived event
        /// </summary>
        /// <param name="msgId">The identifier of the message arrived</param>
        /// <param name="outcome">The outcome of the sending process</param>
        /// <param name="response">The contents of the response when the outcome
        /// indicates success, null otherwise</param>
        /// <param name="sender">The processor that received the message</param>
        protected void OnRequestResponse(decimal msgId,
                                         RequestOutcome outcome, string response,
                                         MessageProcessor sender, string srcId)
        {
            string text = string.Format("Sender - Updating row({0}): {1}, {2}",
                                        msgId, outcome, (response != null)? response : String.Empty);

            Debug.WriteLine(text);
            if (response != null)
            {
                if (_messages.UpdateMessageStatus(
                        msgId, (decimal)(int)GetMessageStatus(outcome)))
                {
                    if (_responseRouter != null)
                    {
                        _responseRouter.RouteAck(msgId, response);
                    }
                }
            }
        }
Пример #10
0
        /// <summary>
        /// Returns the message status corresponding to a request outcome
        /// </summary>
        /// <param name="outcome">The request outcome</param>
        /// <returns>The corresponding message status</returns>
        protected MessageStatus GetMessageStatus(RequestOutcome outcome)
        {
            MessageStatus status = MessageStatus.Failed;

            switch (outcome)
            {
            case RequestOutcome.SendOK:
            {
                status = MessageStatus.Sent;
                break;
            }

            case RequestOutcome.ServerNackError:
            {
                status = MessageStatus.NackServer;
                break;
            }

            case RequestOutcome.WrongMsgFormatNack:
            {
                status = MessageStatus.NackMessage;
                break;
            }

            case RequestOutcome.MessageError:
            case RequestOutcome.OperationCancelled:
            case RequestOutcome.ReceiveError:
            case RequestOutcome.SendError:
            case RequestOutcome.SendTimeout:
            {
                status = MessageStatus.Failed;
                break;
            }
            }
            return(status);
        }
Пример #11
0
 internal RequestResponse(RequestOutcome outcome, OPSTelegrama msg)
 {
     _outcome = outcome;
     _msg     = msg;
 }
Пример #12
0
 public DeliveryResponse(RequestOutcome deliveryOutcome, string detail, string customMessageId)
     : this(deliveryOutcome, detail)
 {
     this.CustomMessageId = customMessageId;
 }
Пример #13
0
 public DeliveryResponse(RequestOutcome deliveryOutcome, string detail)
     : this(deliveryOutcome)
 {
     this.DeliveryDetail = detail;
 }
Пример #14
0
 public DeliveryResponse(RequestOutcome deliveryOutcome)
 {
     this.DeliveryOutcome   = deliveryOutcome;
     this.ConnectorLantency = TimeSpan.Zero;
 }
Пример #15
0
 public ReportResponse(RequestOutcome outcome, List <ReportDetail> reports)
 {
     this.RequestOutcome = outcome;
     this.Details        = reports;
 }