Example #1
0
        // Token: 0x06000666 RID: 1638 RVA: 0x00030BD8 File Offset: 0x0002EDD8
        private bool ProcessFolderContents(DefaultFolderType folderToCollect, ItemQueryType itemQueryType)
        {
            if (AuditQuotaEnforcer.Tracer.IsTraceEnabled(TraceType.DebugTrace))
            {
                AuditQuotaEnforcer.Tracer.TraceDebug <AuditQuotaEnforcer, DefaultFolderType, ItemQueryType>((long)this.GetHashCode(), "{0}: ProcessFolderContents: folderToCollect={1}, itemQueryType={2}.", this, folderToCollect, itemQueryType);
            }
            StoreId            adminAuditLogsFolderId = base.MailboxDataForTags.MailboxSession.GetAdminAuditLogsFolderId();
            int                num = 0;
            AuditLogCollection auditLogCollection = new AuditLogCollection(base.MailboxDataForTags.MailboxSession, adminAuditLogsFolderId, AuditQuotaEnforcer.Tracer);

            foreach (IAuditLog auditLog in auditLogCollection.GetAuditLogs())
            {
                AuditLog auditLog2 = (AuditLog)auditLog;
                this.itemsInDumpster += auditLog2.EstimatedItemCount;
                foreach (ItemData itemData in auditLog2.FindAuditRecords <ItemData>(this))
                {
                    base.TagExpirationExecutor.AddToDoomedHardDeleteList(itemData, false);
                    this.deletedItemsSize += (ulong)((long)itemData.MessageSize);
                    this.itemsExpired++;
                    num++;
                    if (num % 100 == 0)
                    {
                        base.SysCleanupSubAssistant.ThrottleStoreCallAndCheckForShutdown(base.MailboxDataForTags.MailboxSession.MailboxOwner);
                    }
                }
                if (this.dumpsterSize - this.deletedItemsSize <= this.dumpsterQuota.Value.ToBytes())
                {
                    if (AuditQuotaEnforcer.Tracer.IsTraceEnabled(TraceType.DebugTrace))
                    {
                        AuditQuotaEnforcer.Tracer.TraceDebug <AuditQuotaEnforcer, ulong, ulong>((long)this.GetHashCode(), "{0}: Collected sufficient items. dumspterSize={1}, deletedItemsSize={2}.", this, this.dumpsterSize, this.deletedItemsSize);
                        break;
                    }
                    break;
                }
            }
            return(true);
        }