private void PrepareProcessPatterns() { if (NumberOfRunningRetos < NumberOfAllowedRetros && QueueList.Count > 0) { RetrospectiveQueueStructure item = null; lock (s_lockObject) { if (NumberOfRunningRetos < NumberOfAllowedRetros && QueueList.Count > 0) { NumberOfRunningRetos++; item = GetQueueHead(); } } if (item == null || item.Session == null) { return; } item.Session.ProcessPatterns(item.UPByte, item.FHRByte); lock (s_lockObject) { if (NumberOfRunningRetos > 0) { NumberOfRunningRetos--; } if (QueueList.Count <= 0) { Logger.WriteLogEntry(TraceEventType.Information, "Patterns Add On Manager, Retrospective Queue, Prepare Process Patterns", "Stopping QueueTimer"); QueueTimer.Stop(); } } } }
public void AddToQueue(PatternsSessionData session, byte[] upPByte, byte[] hrByte) { lock (s_lockObject) { var item = new RetrospectiveQueueStructure() { FHRByte = hrByte, UPByte = upPByte, Session = session }; QueueList.Add(item); if (!QueueTimer.Enabled) { QueueTimer.Start(); Logger.WriteLogEntry(TraceEventType.Information, "Patterns Add On Manager, RetrospectiveQueue, Add To Queue", "QueueTimer started"); } Logger.WriteLogEntry(TraceEventType.Information, "Patterns Add On Manager, RetrospectiveQueue, Add To Queue", "AddToQueue finished"); } }