/// <summary>Initializes a new instance of the <see cref="T:System.Object" /> class.</summary> /// <param name="queue"></param> /// <param name="workers"></param> /// <param name="targetCnt"></param> public PulseByPulseChecker(BlockingCollection <SampleRecord> queue, IEnumerable <PulseChecker> workers, int?targetCnt) { _consumer = new ParallelConsumerV2 <SampleRecord, PulseChecker, CheckResult>( queue, workers, ProcessFunc, ResultHandleFunc, 2000, targetCnt); TargetAmountReached += OnTargetAmountReached; }
/// <summary> /// Create a Consumer. /// </summary> /// <param name="blockingQueue">The queue which containing elements to be consumed</param> /// <param name="workers">A collection of workers consuming the products in parallel.</param> /// <param name="targetCnt"></param> public DataSerializer([NotNull] BlockingCollection <SampleRecord> blockingQueue, [NotNull] IEnumerable <SpecialSampleWriter> workers, int?targetCnt) { _consumer = new ParallelConsumerV2 <SampleRecord, SpecialSampleWriter, TrueResult>(blockingQueue, workers, ConsumeElement, result => { }, 2000, targetCnt); }
/// <summary>Initializes a new instance of the <see cref="T:System.Object" /> class.</summary> /// <param name="queue"></param> /// <param name="workers"></param> /// <param name="adapter"></param> /// <param name="writer"></param> /// <param name="targetCnt"></param> public ParralelSpectroscopyVisualizerV2(BlockingCollection <SampleRecord> queue, IEnumerable <IAccumulator> workers, SpectrumDisplayAdapter adapter, [CanBeNull] IWriterV2 <TracedSpectrum> writer, int waitEmptyProducerMsTimeOut, int?targetCnt, bool saveSpec, bool saveAcc) { _saveSpec = saveSpec; _saveAcc = saveAcc; _consumer = new ParallelConsumerV2 <SampleRecord, IAccumulator, TaggedProcessResult>( queue, workers, ProcessElement, HandleResultSync, waitEmptyProducerMsTimeOut, targetCnt); Adapter = adapter; Writer = writer; TargetAmountReached += OnTargetAmountReached; }