Example #1
0
 public Task ProcessDeviceMessage(IIdentity identity, IMessage message)
 {
     Preconditions.CheckNotNull(message, nameof(message));
     Preconditions.CheckNotNull(identity, nameof(identity));
     Events.MessageReceived(identity, message);
     MetricsV0.MessageCount(identity, 1);
     using (MetricsV0.MessageLatency(identity))
     {
         IRoutingMessage routingMessage = this.ProcessMessageInternal(message, true);
         Metrics.AddMessageSize(routingMessage.Size(), identity.Id);
         return(this.router.RouteAsync(routingMessage));
     }
 }