/// <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"); }
// 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); }
// 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); }
/// <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); }