// Token: 0x06000FC2 RID: 4034 RVA: 0x0005D2C0 File Offset: 0x0005B4C0 public MailboxStatistics(string mdbName, MailboxData mailboxData, ErrorStatistics errorStatistics, StoreStatistics storeStatistics) { this.DatabaseName = mdbName; this.MailboxGuid = mailboxData.MailboxGuid; this.ErrorStatistics = errorStatistics; this.StoreStatistics = storeStatistics; MailboxType mailboxType = MailboxType.Unknown; StoreMailboxDataExtended storeMailboxDataExtended = mailboxData as StoreMailboxDataExtended; if (storeMailboxDataExtended != null) { mailboxType = MailboxType.Default; if (storeMailboxDataExtended.IsPublicFolderMailbox) { mailboxType |= MailboxType.PublicFolder; } if (storeMailboxDataExtended.IsArchiveMailbox) { mailboxType |= MailboxType.Archive; } if (storeMailboxDataExtended.IsGroupMailbox) { mailboxType |= MailboxType.ModernGroup; } if (storeMailboxDataExtended.IsSharedMailbox) { mailboxType |= MailboxType.Shared; } if (storeMailboxDataExtended.IsTeamSiteMailbox) { mailboxType |= MailboxType.TeamSite; } } this.Type = mailboxType; }
// Token: 0x06000FD0 RID: 4048 RVA: 0x0005D460 File Offset: 0x0005B660 protected override void InvokeInternal(InvokeArgs invokeArgs, List <KeyValuePair <string, object> > customDataToLog) { try { lock (this) { if (this.shuttingDown) { throw new ShutdownException(); } this.diagnosticsSession.TraceDebug("SearchIndexRepairAssistant: InvokeInternal", new object[0]); ErrorStatistics errorStatistics = this.errorStatisticsProvider.GetErrorStatistics(invokeArgs.MailboxData.MailboxGuid); StoreStatistics storeStatistics = this.GetStoreStatistics(base.DatabaseInfo, invokeArgs.MailboxData.MailboxGuid); MailboxStatistics mailboxStatistics = new MailboxStatistics(base.DatabaseInfo.DatabaseName, invokeArgs.MailboxData, errorStatistics, storeStatistics); this.indexRepairLogger.LogMailboxStatistics(mailboxStatistics); } } catch (OperationFailedException ex) { this.diagnosticsSession.LogDiagnosticsInfo(DiagnosticsLoggingTag.Failures, "AssistantFailure", new object[] { "Failure talking to FAST {0}", ex }); throw new TransientDatabaseException(Strings.IndexRepairQueryFailure, ex, new RetrySchedule(FinalAction.RetryForever, TimeSpan.MaxValue, new TimeSpan[] { this.config.IndexRepairAssistantRetryInterval })); } catch (AssistantException ex2) { this.diagnosticsSession.LogDiagnosticsInfo(DiagnosticsLoggingTag.Failures, "AssistantFailure", new object[] { "Failed to execute assistant {0}", ex2 }); throw new SkipException(ex2); } }