void UpdateMonitor(MultiLogReader reader, long streamOffset, Dictionary <string, RawLogFileMonitorOccurence> monitorOccurrence, List <RawLogFileMonitorOccurence> monitorOccurenceList, IMulticastLogEntry log)
{
bool newOccurrence = false;
if (!monitorOccurrence.TryGetValue(log.MonitorId, out RawLogFileMonitorOccurence? occ))
{
occ = new RawLogFileMonitorOccurence(this, log.MonitorId, streamOffset);
monitorOccurrence.Add(log.MonitorId, occ);
monitorOccurenceList.Add(occ);
newOccurrence = true;
}
if (occ.FirstEntryTime > log.LogTime)
{
occ.FirstEntryTime = log.LogTime;
}
if (occ.LastEntryTime < log.LogTime)
{
occ.LastEntryTime = log.LogTime;
}
occ.LastOffset = streamOffset;
reader.RegisterOneLog(occ, newOccurrence, streamOffset, log);
}