Exemplo n.º 1
0
        public Task ProcessDeviceMessageBatch(IIdentity identity, IEnumerable <IMessage> messages)
        {
            IEnumerable <IRoutingMessage> routingMessages = Preconditions.CheckNotNull(messages)
                                                            .Select(m => this.ProcessMessageInternal(m, true));

            return(this.router.RouteAsync(routingMessages));
        }
Exemplo n.º 2
0
        public Task ProcessDeviceMessage(IIdentity identity, IMessage message)
        {
            Preconditions.CheckNotNull(message, nameof(message));
            Preconditions.CheckNotNull(identity, nameof(identity));
            Events.MessageReceived(identity);
            IRoutingMessage routingMessage = this.ProcessMessageInternal(message, true);

            return(this.router.RouteAsync(routingMessage));
        }
Exemplo n.º 3
0
        public Task ProcessDeviceMessageBatch(IIdentity identity, IEnumerable <IMessage> messages)
        {
            Preconditions.CheckNotNull(messages, nameof(messages));
            Metrics.MessageCount(identity, messages.Count());

            IEnumerable <IRoutingMessage> routingMessages = messages
                                                            .Select(m => this.ProcessMessageInternal(m, true));

            return(this.router.RouteAsync(routingMessages));
        }
Exemplo n.º 4
0
 async void CloudConnectionEstablished(object sender, IIdentity identity)
 {
     try
     {
         await this.ProcessSubscriptions(identity.Id);
     }
     catch (Exception e)
     {
         Events.ErrorProcessingSubscriptions(e, identity);
     }
 }
Exemplo n.º 5
0
 public static void ErrorProcessingSubscriptions(Exception ex, IIdentity identity)
 {
     if (ex.HasTimeoutException())
     {
         Log.LogDebug((int)EventIds.ErrorProcessingSubscriptions, ex, Invariant($"Timed out while processing subscriptions for client {identity.Id}. Will try again when connected."));
     }
     else
     {
         Log.LogWarning((int)EventIds.ErrorProcessingSubscriptions, ex, Invariant($"Error processing subscriptions for client {identity.Id}."));
     }
 }
Exemplo n.º 6
0
 internal static void MessageReceived(IIdentity identity, IMessage message)
 {
     if (message.SystemProperties.TryGetValue(SystemProperties.MessageId, out string messageId))
     {
         Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received message from {identity.Id} with message Id {messageId}"));
     }
     else
     {
         Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received message from {identity.Id}"));
     }
 }
Exemplo n.º 7
0
        public Task UpdateReportedPropertiesAsync(IIdentity identity, IMessage reportedPropertiesMessage)
        {
            Preconditions.CheckNotNull(identity, nameof(identity));
            Preconditions.CheckNotNull(reportedPropertiesMessage, nameof(reportedPropertiesMessage));
            Events.UpdateReportedPropertiesReceived(identity);
            Task cloudSendMessageTask = this.twinManager.UpdateReportedPropertiesAsync(identity.Id, reportedPropertiesMessage);

            IRoutingMessage routingMessage         = this.ProcessMessageInternal(reportedPropertiesMessage, false);
            Task            routingSendMessageTask = this.router.RouteAsync(routingMessage);

            return(Task.WhenAll(cloudSendMessageTask, routingSendMessageTask));
        }
Exemplo n.º 8
0
            public static void MessagesReceived(IIdentity identity, IList <IMessage> messages)
            {
                if (Logger.GetLogLevel() <= LogEventLevel.Debug)
                {
                    string messageIdsString = messages
                                              .Select(m => m.SystemProperties.TryGetValue(SystemProperties.MessageId, out string messageId) ? messageId : string.Empty)
                                              .Where(m => !string.IsNullOrWhiteSpace(m))
                                              .Join(", ");

                    if (!string.IsNullOrWhiteSpace(messageIdsString))
                    {
                        Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received {messages.Count} message(s) from {identity.Id} with message Id(s) [{messageIdsString}]"));
                    }
                    else
                    {
                        Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received {messages.Count} message(s) from {identity.Id}"));
                    }
                }
            }
Exemplo n.º 9
0
 public static void ErrorProcessingSubscriptions(Exception ex, IIdentity identity)
 {
     Log.LogWarning((int)EventIds.ErrorProcessingSubscriptions, ex, Invariant($"Error processing subscriptions for client {identity.Id}."));
 }
Exemplo n.º 10
0
 internal static void UpdateReportedPropertiesReceived(IIdentity identity)
 {
     Log.LogDebug((int)EventIds.ReportedPropertiesUpdateReceived, Invariant($"Reported properties update message received from {identity.Id}"));
 }
Exemplo n.º 11
0
 internal static void MessageReceived(IIdentity identity)
 {
     Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received message from {identity.Id}"));
 }
Exemplo n.º 12
0
 public static IDisposable MessageLatency(IIdentity identity) => Util.Metrics.Latency(GetTags(identity), EdgeHubMessageLatencyOptions);
Exemplo n.º 13
0
 public static void MessageCount(IIdentity identity) => Util.Metrics.Count(GetTags(identity), EdgeHubMessageReceivedCountOptions);
Exemplo n.º 14
0
 internal static MetricTags GetTags(IIdentity identity)
 {
     return(new MetricTags("Id", identity.Id));
 }
Exemplo n.º 15
0
 public static void ProcessingSubscriptions(IIdentity identity)
 {
     Log.LogInformation((int)EventIds.ProcessingSubscriptions, Invariant($"Processing subscriptions for client {identity.Id}."));
 }
Exemplo n.º 16
0
 public static void MessageCount(IIdentity identity, long count) => Util.Metrics.CountIncrement(GetTags(identity), EdgeHubMessageReceivedCountOptions, count);