예제 #1
0
        public static List <ReportEntry> MergeEntries(List <ReportEntry> entries1, List <ReportEntry> entries2)
        {
            if (entries1 == null || entries1.Count == 0)
            {
                return(entries2);
            }
            if (entries2 == null || entries2.Count == 0)
            {
                return(entries1);
            }
            List <ReportEntry> list = new List <ReportEntry>(entries1.Count + entries2.Count);
            int num  = 0;
            int num2 = 0;

            while (num < entries1.Count || num2 < entries2.Count)
            {
                ReportEntry reportEntry  = (num < entries1.Count) ? entries1[num] : ReportEntry.MaxEntry;
                ReportEntry reportEntry2 = (num2 < entries2.Count) ? entries2[num2] : ReportEntry.MaxEntry;
                if (reportEntry2.CreationTime < reportEntry.CreationTime)
                {
                    list.Add(reportEntry2);
                    num2++;
                }
                else
                {
                    list.Add(reportEntry);
                    num++;
                }
            }
            return(list);
        }
예제 #2
0
        public void Append(LocalizedString msg, List <FolderSizeRec> mailboxVerificationResults)
        {
            ReportEntry reportEntry = new ReportEntry(msg);

            reportEntry.MailboxVerificationResults = mailboxVerificationResults;
            reportEntry.Flags |= ReportEntryFlags.MailboxVerificationResults;
            this.Append(reportEntry);
        }
예제 #3
0
            public override void ReportVerboseOutput(string message)
            {
                base.ReportVerboseOutput(message);
                MrsTracer.Common.Debug("{0}", new object[]
                {
                    string.Format("{0} - {1}", this.prefix, message)
                });
                ReportEntry reportEntry = new ReportEntry(LocalizedString.Empty, ReportEntryType.Debug);

                reportEntry.DebugData = message;
                this.ReportEntries.Add(reportEntry);
            }
예제 #4
0
 public void Append(ReportEntry entry)
 {
     if (entry != null)
     {
         lock (this.locker)
         {
             this.newEntries.Add(entry);
         }
         MrsTracer.Common.Debug("{0}", new object[]
         {
             entry
         });
     }
 }
예제 #5
0
        public void Append(RequestJobTimeTracker timeTracker, ReportEntryFlags flags)
        {
            ThrottleDurations sourceThrottleDurations;
            ThrottleDurations targetThrottleDurations;

            timeTracker.GetThrottledDurations(out sourceThrottleDurations, out targetThrottleDurations);
            ReportEntry reportEntry = new ReportEntry();

            reportEntry.Flags = flags;
            if ((flags & ReportEntryFlags.SourceThrottleDurations) != ReportEntryFlags.None)
            {
                reportEntry.SourceThrottleDurations = sourceThrottleDurations;
            }
            if ((flags & ReportEntryFlags.TargetThrottleDurations) != ReportEntryFlags.None)
            {
                reportEntry.TargetThrottleDurations = targetThrottleDurations;
            }
            this.Append(reportEntry);
        }
예제 #6
0
        public void Append(LocalizedString msg, SessionStatistics sessionStatistics, SessionStatistics archiveSessionStatistics)
        {
            if (sessionStatistics == null && archiveSessionStatistics == null)
            {
                this.Append(new ReportEntry(msg));
                return;
            }
            ReportEntry reportEntry = new ReportEntry(msg);

            reportEntry.Flags |= ReportEntryFlags.SessionStatistics;
            if (sessionStatistics != null)
            {
                reportEntry.SessionStatistics = sessionStatistics;
                reportEntry.Flags            |= ReportEntryFlags.Primary;
            }
            if (archiveSessionStatistics != null)
            {
                reportEntry.ArchiveSessionStatistics = archiveSessionStatistics;
                reportEntry.Flags |= ReportEntryFlags.Archive;
            }
            this.Append(reportEntry);
        }
예제 #7
0
        public void Append(LocalizedString msg)
        {
            ReportEntry entry = new ReportEntry(msg);

            this.Append(entry);
        }