Esempio n. 1
0
        /// <summary>
        /// Handles the <see cref="IMessageReceiver.FeedMessageDeserializationFailed" /> event.
        /// </summary>
        /// <param name="sender">A <see cref="object"/> representation of the instance raising the event.</param>
        /// <param name="eventArgs">The <see cref="MessageDeserializationFailedEventArgs"/> instance containing the event data.</param>
        private void OnFeedMessageDeserializationFailed(object sender, MessageDeserializationFailedEventArgs eventArgs)
        {
            var rawData          = eventArgs.RawData as byte[] ?? eventArgs.RawData.ToArray();
            var basicMessageData = _messageDataExtractor.GetBasicMessageData(rawData);

            _log.LogInformation($"Extracted the following data from unparsed message data: [{basicMessageData}], raising OnUnparsableMessageReceived event");
            var dispatchmentEventArgs = new UnparsableMessageEventArgs(basicMessageData.MessageType, basicMessageData.ProducerId, basicMessageData.EventId, rawData);

            Dispatch(UnparsableMessageReceived, dispatchmentEventArgs, "OnUnparsableMessageReceived");
        }
Esempio n. 2
0
        // ReSharper disable once UnusedParameter.Local
        private void OnMqMessageDeserializationFailed(object sender, MessageDeserializationFailedEventArgs eventArgs)
        {
            var rawData          = eventArgs.RawData as byte[] ?? eventArgs.RawData.ToArray();
            var basicMessageData = TicketHelper.ParseUnparsableMsg(rawData);

            ExecutionLog.Info($"Extracted the following data from unparsed message data: [{basicMessageData}], raising OnUnparsableMessageReceived event");
            var dispatchEventArgs = new UnparsableMessageEventArgs(basicMessageData);

            Metric.Context("MtsSdk").Meter("TicketDeserializationFailed", Unit.Items).Mark();
            UnparsableTicketResponseReceived?.Invoke(this, dispatchEventArgs);
        }
Esempio n. 3
0
        // ReSharper disable once UnusedParameter.Local
        private void OnMqMessageDeserializationFailed(object sender, MessageDeserializationFailedEventArgs eventArgs)
        {
            var rawData          = eventArgs.RawData as byte[] ?? eventArgs.RawData.ToArray();
            var basicMessageData = TicketHelper.ParseUnparsableMsg(rawData);

            _executionLog.LogInformation($"Extracted the following data from unparsed message data: [{basicMessageData}], raising OnUnparsableMessageReceived event");
            var dispatchEventArgs = new UnparsableMessageEventArgs(basicMessageData);

            _metricsRoot.Measure.Meter.Mark(new MeterOptions {
                Context = "MtsSdk", Name = "TicketDeserializationFailed", MeasurementUnit = Unit.Calls
            });
            UnparsableTicketResponseReceived?.Invoke(this, dispatchEventArgs);
        }
Esempio n. 4
0
        /// <summary>
        /// Handles the <see cref="IMessageReceiver.FeedMessageDeserializationFailed" /> event.
        /// </summary>
        /// <param name="sender">A <see cref="object"/> representation of the instance raising the event.</param>
        /// <param name="eventArgs">The <see cref="MessageDeserializationFailedEventArgs"/> instance containing the event data.</param>
        private void OnMessageDeserializationFailed(object sender, MessageDeserializationFailedEventArgs eventArgs)
        {
            var rawData          = eventArgs.RawData as byte[] ?? eventArgs.RawData.ToArray();
            var basicMessageData = _messageDataExtractor.GetBasicMessageData(rawData);

            ExecutionLog.LogInformation($"{WriteMessageInterest()}Extracted the following data from unparsed message data: [{basicMessageData}], raising OnUnparsableMessageReceived event");
            var dispatchmentEventArgs = new UnparsableMessageEventArgs(basicMessageData.MessageType, basicMessageData.ProducerId, basicMessageData.EventId, rawData);
            var producerId            = 0;

            if (!string.IsNullOrEmpty(basicMessageData.ProducerId))
            {
                int.TryParse(basicMessageData.ProducerId, out producerId);
            }
            Dispatch(OnUnparsableMessageReceived, dispatchmentEventArgs, "OnUnparsableMessageReceived", producerId);
        }