private List <QueryableObject> QueryEventDispatcher(object[] parameters, QueryFilter filter) { List <QueryableObject> list = new List <QueryableObject>(50); IList <OnlineDatabase> onlineDatabases = OnlineDiagnostics.Instance.databaseManager.GetOnlineDatabases((Guid?)parameters[0]); if (onlineDatabases == null || onlineDatabases.Count != 1) { throw new ArgumentException("Could not find the database specified by DatabaseGuid", "DatabaseGuid"); } EventControllerPrivate eventControllerPrivate = (EventControllerPrivate)onlineDatabases[0].EventController; IList <MailboxDispatcher> mailboxDispatcher = eventControllerPrivate.GetMailboxDispatcher((Guid?)parameters[1]); if (mailboxDispatcher == null) { return(list); } MailboxDispatcher mailboxDispatcher2 = mailboxDispatcher[0]; foreach (EventDispatcherPrivate eventDispatcherPrivate in mailboxDispatcher2.GetEventDispatcher((Guid?)parameters[2])) { QueryableEventDispatcher queryableEventDispatcher = new QueryableEventDispatcher(); eventDispatcherPrivate.ExportToQueryableObject(queryableEventDispatcher); if (filter == null || OpathFilterEvaluator.FilterMatches(filter, queryableEventDispatcher)) { list.Add(queryableEventDispatcher); } } return(list); }
// Token: 0x0600026A RID: 618 RVA: 0x0000D728 File Offset: 0x0000B928 public override void ExportToQueryableObject(QueryableObject queryableObject) { base.ExportToQueryableObject(queryableObject); QueryableEventDispatcher queryableEventDispatcher = queryableObject as QueryableEventDispatcher; if (queryableEventDispatcher != null) { queryableEventDispatcher.AssistantName = base.Assistant.Name; queryableEventDispatcher.AssistantGuid = base.Assistant.Identity; queryableEventDispatcher.CommittedWatermark = this.committedWatermark; queryableEventDispatcher.HighestEventQueued = this.highestEventQueued; queryableEventDispatcher.RecoveryEventCounter = this.recoveryEventCounter; queryableEventDispatcher.IsInRetry = this.isInRetry; queryableEventDispatcher.ActiveQueueLength = base.ActiveQueue.Count; queryableEventDispatcher.PendingQueueLength = base.PendingQueue.Count; queryableEventDispatcher.PendingWorkers = base.PendingWorkers; queryableEventDispatcher.ActiveWorkers = base.ActiveWorkers; } }