// Token: 0x06001400 RID: 5120 RVA: 0x00073D14 File Offset: 0x00071F14 protected override void DrainNotifications(ConcurrentDictionary <Guid, PushNotificationContext> notificationContexts) { MailboxNotificationBatch mailboxNotificationBatch = new MailboxNotificationBatch(); foreach (Guid guid in notificationContexts.Keys) { if (base.CheckCancellation()) { return; } PushNotificationContext pushNotificationContext = notificationContexts[guid]; MailboxNotification notification = this.CreateMailboxNotification(guid, pushNotificationContext); mailboxNotificationBatch.Add(notification); NotificationTracker.ReportCreated(notification, pushNotificationContext.OriginalTime); PushNotificationHelper.LogNotificationBatchEntry(guid, notification); } if (!mailboxNotificationBatch.IsEmpty) { ExTraceGlobals.PushNotificationAssistantTracer.TraceDebug <int>((long)this.GetHashCode(), "PushNotificationBatchManager.DrainNotifications: Ready to send notification batch, size:'{0}'.", mailboxNotificationBatch.Count); if (base.CheckCancellation()) { return; } PushNotificationBatchManager.notificationsPerBatchCounter.AddSample((long)mailboxNotificationBatch.Count); this.SendPublishNotificationRequest(mailboxNotificationBatch); } notificationContexts.Clear(); }
// Token: 0x0600143B RID: 5179 RVA: 0x00074C14 File Offset: 0x00072E14 internal static void LogNotificationBatchEntry(Guid mailboxGuid, MailboxNotification notification) { if (PushNotificationsCrimsonEvents.NotificationBatchEntry.IsEnabled(PushNotificationsCrimsonEvent.Provider)) { PushNotificationsCrimsonEvents.NotificationBatchEntry.Log <Guid, string>(mailboxGuid, notification.ToFullString()); } if (ExTraceGlobals.PushNotificationAssistantTracer.IsTraceEnabled(TraceType.DebugTrace)) { ExTraceGlobals.PushNotificationAssistantTracer.TraceDebug <Guid, string>(0L, "MailboxNotification processed for Mailbox '{0}': {1}", mailboxGuid, notification.ToFullString()); } }