private void GetAllSubscriptionInfo(HttpEntityManager http, UriTemplateMatch match) { if (_httpForwarder.ForwardRequest(http)) { return; } var envelope = new SendToHttpEnvelope( _networkSendQueue, http, (args, message) => http.ResponseCodec.To(ToSummaryDto(http, message as MonitoringMessage.GetPersistentSubscriptionStatsCompleted).ToArray()), (args, message) => StatsConfiguration(http, message)); var cmd = new MonitoringMessage.GetAllPersistentSubscriptionStats(envelope); Publish(cmd); }
public void Handle(MonitoringMessage.GetAllPersistentSubscriptionStats message) { if (!_started) { message.Envelope.ReplyWith(new MonitoringMessage.GetPersistentSubscriptionStatsCompleted( MonitoringMessage.GetPersistentSubscriptionStatsCompleted.OperationStatus.NotReady, null) ); return; } var stats = (from subscription in _subscriptionTopics.Values from sub in subscription select sub.GetStatistics()).ToList(); message.Envelope.ReplyWith(new MonitoringMessage.GetPersistentSubscriptionStatsCompleted( MonitoringMessage.GetPersistentSubscriptionStatsCompleted.OperationStatus.Success, stats) ); }