This commit is contained in:
Simon Gruber
2023-11-22 07:46:10 +01:00
parent beb194c106
commit 8ada606fa6
141 changed files with 158 additions and 139 deletions
@@ -0,0 +1,29 @@
using Process.Abstract;
using Process.Interface;
using System.Diagnostics;
namespace CLI.Processor;
public class StopwatchProcessor<TInput, TOutput> : Processor<TInput, TOutput>
{
private readonly IProcessor<TInput, TOutput> _processor;
/// <summary>
/// Execution time of the last processing action
/// </summary>
public TimeSpan? Elapsed { get; private set; }
public StopwatchProcessor(IProcessor<TInput, TOutput> processor) => _processor = processor;
public override IEnumerable<TOutput> Process(IEnumerable<TInput> inputs)
{
var stopWatch = Stopwatch.StartNew();
var results = _processor.Process(inputs);
stopWatch.Stop();
Elapsed = stopWatch.Elapsed;
return results;
}
/// <inheritdoc />
public override string? ToString() => _processor.ToString();
}